Я деактивирую некоторый виджет, и выражение $watch
прекрасно работает со всеми в одном файле, но теперь я переместил соответствующую часть контроллера в новый контроллер, а разметка в новый html и $watch
срабатывает ровно один раз после инициализации, но не тогда, когда редактирование ввода в соответствующем входе.
JS:
app.controller('getRecipientWidgetController', [ '$scope', function($scope) {
console.log("controller initializing")
var testReceivingAddress = function(input) {
console.log("change detected")
}
$scope.$watch("addressInput", testReceivingAddress)
} ])
HTML обертки:
<ng-include
src="'partials/getRecipientWidget.html'"
ng-controller="getRecipientWidgetController"
ng-init="recipient=cert"> <!-- ng-init doesn't influence the bug. -->
</ng-include>
HTML из partials/getRecipientWidget.html
:
<md-text-float ng-model="addressInput"></md-text-float>
Я подозреваю, что есть некоторые возможности вуду происходит? Я оставил ng-init
, чтобы уточнить, чего я хочу достичь: построить явно более сложный, многоразовый виджет, который в этом случае будет работать на $scope.cert
как его recipient
.
Просто для смеха, что происходит, когда вы впрыскивать rootscope и вызвать $ смотреть на это? – lintmouse
@dustmouse без изменений. Точно такая же ошибка/поведение. – Giszmo
Как сказал флорибон в своем ответе, узнайте о так называемом «правиле точки». – Blackhole