Rumah > Soal Jawab > teks badan
input
mempunyai pengikatan ng-model
Input manual boleh menukar nilai ini yang saya gunakan jquery
untuk menukar nilai input
$('#dd').val('str');
dan kemudian scope
daripada model
. kekal tidak berubah
Bantuan
漂亮男人2017-05-15 16:57:24
Jika anda menggunakan angular way
untuk mengubah suai dan mengemas kini nilai DOM atau pembolehubah, tiada operasi tambahan diperlukan.
Tetapi jika anda melepaskan diri dari sudut dan menggunakan kod seperti jquery yang tidak berada dalam sistem sudut, anda perlu memberitahu sudut tentang sebarang pengubahsuaian supaya sudut boleh memperoleh nilai terkini untuk mencerminkannya pada halaman.
Jadi anda boleh menggunakan kaedah berikut untuk memberitahu sudut
$scope.$apply(function(){
jQuery('input').val(newValue);
})
怪我咯2017-05-15 16:57:24
Cara yang betul ialah... jangan tukar pandangan secara manual.
Cadangan:
1 Cuba dedahkan model, dan kemudian ubah suai model Selepas pengubahsuaian, panggil $scope.$apply(). Di samping itu, untuk mengelakkan pelbagai ralat yang tidak dijangka, anda boleh menulis setTimeout(function(){$scope.$apply()},0) seperti ini.
2. Walau apa pun, jika anda mempunyai keperluan ini, ia mesti disebabkan oleh beberapa peristiwa, operasi pengguna atau ajax. Operasi Ajax boleh menggunakan perkhidmatan $http yang disediakan oleh operasi Pengguna Angular biasanya boleh dirangkumkan ke dalam arahan.