Ich habe eine Direktive in eckigen "spyStyle" Und ich möchte es so nutzbar wie möglich machen. Also ... Ich würde gerne verschiedene Callback-Funktionen aufrufen können, basierend auf was beobachtet wird.AngularJs Wie CallBack-Funktion basierend auf Watch-Wert zu ändern
Hier ist mein Code
.directive('spyStyle', [function() {
return {
link: function (scope, element, attrs) {
scope.$watch(function() {
return element.css(attrs['spyAttribute']);
}, styleChangedCallBack, true);
function styleChangedCallBack(newValue, oldValue) {
if (newValue !== oldValue) {
// do something interesting here
}
}
}
};
}]);
Übergeben Sie den überwachten Wert, übergeben Sie den Rückruf. – tymeJV
danke tymeJV, wie ich es unten gelöst habe, ist das ein richtiger Umgang mit den Dingen? Es scheint, dass ich nicht den gesamten Bereich schreiben sollte. $ Watch-Anweisung zweimal, nur um eine separate Callback-Funktion aufzurufen Konnte ich nicht einfach eine Variable der Callback-Funktion setzen und diese an die $ scope.watch-Anweisung übergeben? Weil, als ich es auf diese Weise versuchte, habe ich einen Fehler erhalten. – Acts7Seven