0

開始ビューから別のビューで使用するコントローラーを初期化する必要があります。この目的のために、そのコントローラーから定義済みの setup() メソッドを呼び出したいと思います。

ユーザーが $stateProvider で定義された特定のビューに入るまで、初期化されていないため、これを行うことはできません。

そのコントローラーからのセットアップ機能を初期化するために、アプリケーションの起動時にコントローラーをロードするにはどうすればよいですか?

.controller('StartupCtrl', function($scope,$rootScope) {
    vm=this;
    var ctrl1=$rootScope.ctrl;
    var config={};

    // DO SOMETHING and create the config
    ctrl1.setup(config);})


.controller('Ctrl1', function($scope,$rootScope) {
    vm=this;
    $rootScope.ctrl1=this;
    vm.state="";

    vm.setup(config){
       vm.state=config.state
    }
});
4

2 に答える 2

0

モジュールには、アプリの初期ロードで使用できるメソッド run() があります。そこでセットアップ方法を定義するか、ルートスコープに変数を設定するだけです:

//... initialize myModule before this somewhere
myModule.run(function($rootScope) {
    $rootScope.config = {}
    //...
})

ドキュメントのモジュール メソッドの詳細 (実行ブロックと構成ブロックのセクションを参照) https://docs.angularjs.org/guide/module

于 2015-12-11T14:42:55.457 に答える