Rumah > Soal Jawab > teks badan
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?
滿天的星座2017-05-15 16:54:42
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.
["12345","23456"] => [{val: "12345"}, {val: "23456"}]
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/
过去多啦不再A梦2017-05-15 16:54:42
Penjelasan terperinci tentang menggunakan model ng di bawah AngularJS ng-repeat: penerangan pautan