In meinem Controller möchte ich benachrichtigt werden, wenn ein variabler Wert geändert wird. Meine Anforderung ist, wenn sich der Wert einer Variablen ändert, wird eine Funktion aufgerufen. Also benutze ich $ watch. Mein Code ist wie folgt.
var Canvas = angular.module('canvas');
Canvas.controller("excelOperation",function($scope,Data,SharedData,$http){
$scope.tbody=$scope.$parent.shared.previews;
$scope.$watch('$parent.shared.previews',function(newVal,oldVal){
console.log("WORKING");
})
setInterval(function(){
console.log($scope.$parent.shared.previews);
},1000)
/**
* Populate table function to populate excel table
*/
$scope.populateTable=function()
{
}
})
angular.bootstrap (document.getElementById ("Seite"), [ 'Leinwand']);
Aber Problem ist $ watch funktioniert nur, wenn ich meine Seite aktualisieren. Obwohl der setInterval den geänderten Wert der Variablen $ watch ausgibt, wird er nicht aufgerufen.
N.B. $ scope. $ parent.shared.previews ist ein Objekt
Was mache ich falsch? Und was ich erreicht habe, ist das ein guter Weg?
Sie sollten $ parent.shared.previews nicht $ scope. $ Parent.shared.previews verwenden. an beiden Orten in Uhr und setinterval –
Immer noch nicht funktioniert :( –
können Sie Ihren vollständigen Code –