Ich habe einen Service in meiner application.js
Datei in meinem AngularJS
Projekt erklärt. Es sieht wie folgt aus:AngularJS Service aktualisiert die Ansicht nicht
application.factory('interfaceService', function ($rootScope, $timeout) {
var interfaceService = {};
interfaceService.lang = "";
interfaceService.dev = ""
interfaceService.theme = "";
interfaceService.integ = "";
//For Integration Type
interfaceService.demo = function (dev, theme, integ, lang) {
this.dev = dev;
this.theme = theme;
this.integ= integ;
this.lang = lang;
this.broadcastItem();
};
interfaceService.broadcastItem = function() {
$timeout(function(){
$rootScope.$broadcast('handleBroadcast');
});
};
return interfaceService;
});
ich den oben genannten Service verwende Variablen zwischen 2 meiner Controllers
passieren. Die Steuerung, die den Dienst nennt, ist hier:
$scope.buildDemo = function() {
interfaceService.demo(device, template, integ, language);
$rootScope.template = template;
$rootScope.themeFolder = template;
$state.go("MainPage", {
"themeName": $rootScope.themeFolder
});
}
Diese Funktion wird ausgelöst, wenn der Benutzer klickt auf ein Div auf meiner view
<div id='build-btn' ng-click='buildDemo()'>Go</div>
Das Problem, das ich habe ist, dass meiner Meinung nach ist die Aktualisierung nicht, wenn Ich klicke auf den Knopf. Ich muss ein zweites Mal darauf klicken, um Änderungen zu sehen. Würde jemand wissen, was das verursacht? Die URL-Aktualisierungen und die neue Ansicht werden auf der Seite angezeigt, aber die Elemente, die basierend auf den im Dienst festgelegten Parametern angezeigt werden sollen, sind erst sichtbar, wenn ich ein zweites Mal auf die Schaltfläche "Gehe zu" klicke.
, wenn Sie auf der Go-Taste klicken, sollte es die Route ändern, laden Sie die Vorlage und Controller, die mit dieser Route zugeordnet ist, führt die Logik in diesem Controller .. Also, wenn Sie Klicken Sie zum ersten Mal auf die Schaltfläche "Go", irgendwelche Fehler auf Ihrer Konsole? Sind Sie sicher, dass die richtige Vorlage und der richtige Controller geladen wurden? wenn ja, wie weit in den Controller hast du gekommen. Ich werfe nur Ideen für Sie auf, um Ihr Problem zu verfolgen –