Tôi tính toán một số tiện ích và biểu thức $watch
hoạt động hoàn hảo với tất cả trong một tệp nhưng bây giờ tôi đã chuyển phần bộ điều khiển có liên quan vào bộ điều khiển mới và đánh dấu vào một html mới và các vụ cháy $watch
chính xác một lần sau khi khởi tạo nhưng không chỉnh sửa gõ trong đầu vào liên quan.
JS:
app.controller('getRecipientWidgetController', [ '$scope', function($scope) {
console.log("controller initializing")
var testReceivingAddress = function(input) {
console.log("change detected")
}
$scope.$watch("addressInput", testReceivingAddress)
} ])
HTML của wrapper:
<ng-include
src="'partials/getRecipientWidget.html'"
ng-controller="getRecipientWidgetController"
ng-init="recipient=cert"> <!-- ng-init doesn't influence the bug. -->
</ng-include>
HTML của partials/getRecipientWidget.html
:
<md-text-float ng-model="addressInput"></md-text-float>
tôi nghi ngờ có một số voodoo phạm vi xảy ra? Tôi rời khỏi ng-init
để làm rõ những gì tôi muốn đạt được: xây dựng một widget rõ ràng phức tạp hơn, có thể sử dụng lại trong trường hợp này sẽ hoạt động trên $scope.cert
là recipient
của nó.
Chỉ cần cho tiếng cười khúc khích, những gì xảy ra khi bạn tiêm rootscope và gọi $ xem trên đó? – lintmouse
@dustmouse không thay đổi. Chính xác cùng một lỗi/hành vi. – Giszmo
Như đã nói bởi floribon trong câu trả lời của mình, tìm hiểu về cái gọi là "quy tắc chấm". – Blackhole