cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - Menggunakan angularjs, bagaimana untuk mengubah suai model dalam dokumen sedia dan membuat DOM terikat kepada model dikemas kini?

Dalam contoh berikut, model telah diubah suai, tetapi antara muka belum dikemas kini
Contoh:
http://jsbin.com/relanafohu/4/edit

怪我咯怪我咯2774 hari yang lalu586

membalas semua(2)saya akan balas

  • PHP中文网

    PHP中文网2017-05-15 16:52:52

    https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$apply

    balas
    0
  • 仅有的幸福

    仅有的幸福2017-05-15 16:52:52

    Semua pengubahsuaian model dalam panggilan balik operasi tak segerak yang tidak diketahui oleh Angular perlu menggunakan kaedah guna untuk memberitahu sudut secara eksplisit untuk mengemas kini paparan Untuk butiran, lihat dokumentasi sudut tentang penggunaan.

    Selain itu, jika sudut sedang dalam proses mengemas kini (bulatan digest) dan memohon dipanggil, ralat berikut akan muncul:

    Error: $apply already in progress
    

    Untuk mengelakkan ralat ini, anda boleh menentukan status semasa dahulu dan anda boleh terus menggunakan kaedah terkapsul berikut:

    jssafeApply = function( scope, fn) {
        var phase = scope.$root.$$phase;
        if(phase == '$apply' || phase == '$digest') {
            if(fn && (typeof(fn) === 'function')) { fn();
            }
        } else {
            scope.$apply(fn);
        }
    }
    

    Apabila anda perlu menetapkan model, cuma:

    jssafeApply( $scope, function(){
        // 在这里写你修改model的代码
    });
    

    Maklumat lanjut tentang ralat ini boleh didapati dalam soalan stackoverflow ini

    balas
    0
  • Batalbalas