angular.js - Masalah AngularJS menggunakan model ng dalam ng-ulang
ringa_lee
ringa_lee 2017-05-15 16:52:42
0
4
554

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?

ringa_lee
ringa_lee

ringa_lee

membalas semua(4)
滿天的星座

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梦

Penjelasan terperinci tentang menggunakan model ng di bawah AngularJS ng-repeat: penerangan pautan

黄舟

Hanya ng-model="qq" dan itu sahaja

滿天的星座

http://www.lovelucy.info/understanding-scopes-in-angularjs.html

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan