Ich verwende eine Direktive, die einen Dienst injiziert. Wenn sich die Daten vom Dienst ändern, möchte ich, dass die Richtlinie aktualisiert wird.AngularJs Refresh-Anweisung bei Datenänderung
Ich weiß, ich muss $watch
verwenden, aber ich bin mir nicht sicher, wie es in meiner Situation zu implementieren.
Ich habe ein paar Szenarien ausprobiert, aber sie haben nicht funktioniert. Unten ist meine Direktive.
Kann mir bitte jemand zeigen, wie man in der $watch
hinzufügen, damit die Richtlinie aktualisiert, wenn sich die Daten ändern?
app.directive('googleAnalytics', function(configFactory){
return {
restrict: 'E',
replace: true,
link: function(scope,element,attrs){
configFactory.getconfigs().then(function(configs) {
scope.gid = configs[0].ga_id;
var scriptTag = angular.element(document.createElement("script"));
scriptTag.text("ga('create', '"+scope.gid+"', 'auto');")
element.append(scriptTag);
});
}
};
})
dort gehen Sie ... –
Danke Ich Markierung Ihre Antwort als die richtige und Ich schätze all deine Hilfe. Wenn ich mir mein Problem anschaue, scheint es, dass mein größtes Problem darin besteht, den Wert nicht zu aktualisieren, sondern erst, wenn Google Analytics aufgerufen wird. Wenn sich die Konfigurationsdatei ändert und die GA-ID aktualisiert wird, muss der Google Analytics-Code erneut initialisiert werden – Jason