Ich bin neu in AngularJs und ich verwende angular 1.4. Die Frage ist: ich ein einfaches Gegen Objekt bin mit wie folgt definiert:
var myCounter = (function(){
var count =0;
return {
"inc": function(){
count++;
},
"dec": function(){
if(count>0){
count--;
}
},
"getCount": function(){
return count;
}
};
})();
Ich mag würde die Zählvariable privat halten und den Wert nur durch ‚getCount‘ Funktion lesen.
Immer wenn die Anzahl erhöht/verringert wird, muss ich eine Reihe von Operationen basierend auf dem aktualisierten Wert von "count" durchführen. Dazu möchte ich '$ watch' verwenden, um die Änderungen zu beobachten. Aber ich kann den Wert nur durch Aufruf der Funktion 'getCount()' erhalten.
Bitte schlagen Sie vor, wie ich eine '$ Uhr' in diesem Szenario schreibe. Wenn dies kein korrekter Ansatz ist, schlagen Sie bitte einen besseren vor.
Vielen Dank im Voraus!
Sie können tun, '$ Umfang. $ Uhr (myCounter.getCount, function() {})' – Satpal
Ok ich irgendwie verstehen, was Sie da tun. Aber warum behandeln Sie es nicht als Objekt, anstatt es als anonymes Objekt auszuführen. Eine andere Sache, die Sie in Betracht ziehen sollten, ist, was Sie tun möchten. Sie können auch Callbacks an die verschiedenen Funktionen anhängen und dann den spezifischen Code für dec, inc oder getCount aufrufen, anstatt die gesamte Funktion zu beobachten. –
https://jsfiddle.net/satpalsingh/z5k95mwr/ – Satpal