Jestem faktoringu niektóre widżet i wyrażenie $watch
działa doskonale, mając wszystko w jednym pliku, ale teraz przeniosłem odpowiednią część kontrolera do nowego kontrolera i znaczników do nowego html i $watch
strzela dokładnie raz po inicjalizacji, ale nie kiedy edytowanie wpisywania powiązanych danych wejściowych.
JS:
app.controller('getRecipientWidgetController', [ '$scope', function($scope) {
console.log("controller initializing")
var testReceivingAddress = function(input) {
console.log("change detected")
}
$scope.$watch("addressInput", testReceivingAddress)
} ])
HTML owijki:
<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>
Podejrzewam, że jest jakiś zakres voodoo dzieje? Opuściłem ng-init
, aby jasno określić, co chcę osiągnąć: zbudować oczywiście bardziej złożony, wielokrotnego użytku widget, który w tym przypadku będzie działał pod numerem $scope.cert
jako jego recipient
.
tylko dla chichotów, co się dzieje, gdy wstrzyknąć rootscope i nazywają $ oglądać na ten temat? – lintmouse
@dustmouse bez zmian. Dokładnie ten sam błąd/zachowanie. – Giszmo
Jak powiedział floribon w swojej odpowiedzi, dowiedz się o tzw. "Regule punktowej". – Blackhole