私のapplication.js
ファイルに私のAngularJS
プロジェクト内で宣言されているサービスを持っています。それは次のようになります。AngularJSサービスがビューを更新していません
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;
});
私は私のControllers
の2の間で変数を渡すために上記のサービスを使用しています。サービスを呼び出すコントローラはここにある:
$scope.buildDemo = function() {
interfaceService.demo(device, template, integ, language);
$rootScope.template = template;
$rootScope.themeFolder = template;
$state.go("MainPage", {
"themeName": $rootScope.themeFolder
});
}
この関数は、ユーザーが自分のview
<div id='build-btn' ng-click='buildDemo()'>Go</div>
上のdivをクリックしたときに、私が午前問題は、私の見解は、ときに更新されていないということですトリガされます私はボタンをクリックします。変更を確認するには、もう一度クリックする必要があります。誰がこれを引き起こしているか知っていますか? URLが更新され、新しいビューがページに表示されますが、「移動」ボタンを2回クリックするまで、サービスに設定されたパラメータに基づいて表示される要素は表示されません。
だから、とき最初の[実行]ボタンをクリックします。コンソールにエラーがありますか?正しいテンプレートとコントローラがロードされていますか?はいの場合、コントローラーまでの距離はどのくらいですか?私はちょうどあなたの問題をトレースするためのアイデアを捨てている –