Rumah > Soal Jawab > teks badan
Dalam contoh berikut, model telah diubah suai, tetapi antara muka belum dikemas kini
Contoh:
http://jsbin.com/relanafohu/4/edit
仅有的幸福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:
js
safeApply = 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:
js
safeApply( $scope, function(){ // 在这里写你修改model的代码 });
Maklumat lanjut tentang ralat ini boleh didapati dalam soalan stackoverflow ini