Hiện tại tôi đang sử dụng định dạng Controller As
cho bộ điều khiển phạm vi.
Điều này phù hợp để giữ phạm vi giá trị trên các chế độ xem rõ ràng và dễ theo dõi.
<div ng-app="myApp" ng-controller="myController as myctrl">
<ul>
<li ng-repeat="contact in myctrl.contacts">
<input type="text" ng-model="contact.name.first" />
</li>
</ul>
</div>
Tuy nhiên, khi thực hiện một $watch
Tôi đang chạy vào vấn đề vì nó có vẻ là phụ thuộc vào $scope
nên sau đây sẽ không hoạt động.
angular.module('myApp',[])
.controller('myController',['contacts',function(contacts) {
this.contacts = contacts;
this.$watch('contacts', function(newValue, oldValue) {
console.log({older: oldValue, newer:newValue});
});
}]);
tôi nhận được không xác định không phải là một chức năng trong tài liệu tham khảo để this
không có một phương pháp $watch
.
Có cách nào để $watch
giá trị với định dạng Controller As
không?
Cảm ơn, @ExpertSystem Tôi đã thử tiêm '$ scope', nhưng tôi đã thử' $ scope. $ Watch (this.contacts, ... 'và không nhận ra giá trị đã xem cần quay lại ở định dạng đó. – Malkus
Giúp tôi hiểu http://plnkr.co/edit/mFugWfzT2bLGVxwJyBfT?p=preview.Không thấy không có cảnh báo trong khi thay đổi giá trị: ( –