pautan rebab: http://jsfiddle.net/08tox9k4/
<html ng-app = 'test'>
<head></head>
<body ng-controller = 'testCtrl'>
<p ng-repeat="qq in obj.qqs">
<input class="qq" ng-model="obj.qqs[$index]" placeholder="请输入">;
</p>
<script src="angular.min.js"></script>
<script type="text/javascript">
angular.module('test',[])
.controller('testCtrl', ['$scope', function($scope){
$scope.obj = {
qqs: ["12345","23456"]
};
}]);
</script>
</body>
</html>
Masalah: Apabila mengubah suai nilai dalam teg input yang dijana, fokus tetikus hilang setiap kali digit diubah suai Ini mungkin kerana paparan disegarkan oleh perubahan dalam data.
Bagaimanakah saya boleh mengubah suai sepenuhnya nilai dalam input? Kemudian simpan perubahan melalui butang simpan atau sesuatu?
Atau bagaimana untuk membatalkan pemantauan pembolehubah buat sementara waktu?
Ada beberapa soalan:
1. ng-model="obj.qqs[$index]" sepatutnya ng-model="qq" Ini boleh menyelesaikan masalah hilang fokus.
2. Secara amnya, pembolehubah jenis primitif tidak digunakan sebagai objek literal boleh digunakan di sini.
Maka ng-model juga mesti diubah suai kepada qq.val
3. Cara simpan melalui butang, cuma guna ng-click.
4. Isu gaya. Gunakan sintaks 'pengawal sebagai ctrl' untuk mengelakkan penggunaan $scope di dalam pengawal. Lihat sampel di bawah untuk butiran
Sampel kerja: http://jsfiddle.net/wfh04vhc/
Penjelasan terperinci tentang menggunakan model ng di bawah AngularJS ng-repeat: penerangan pautan
Hanya
ng-model="qq"
dan itu sahajahttp://www.lovelucy.info/understanding-scopes-in-angularjs.html