2016-04-13 4 views
0

実行時にビュー/コントローラをロードするにはどうすればよいですか?ビュー/コントローラをプログラムでロードする

例えば、私はコンテンツのリストを持っているようなので、

ctrl.pages = [{ 
    controller:"myController", 
    templateUrl : "/app/view.html" 
},{ 
    controller:"myController2", 
    templateUrl : "/app/view2.html" 
}] 

どのように私は、これらのビューとコントローラをロードしないと言いますか?それは単に "ng-include"を使用する場合に過ぎないのでしょうか、それとも良い方法がありますか? Angular Materialのようなライブラリは、このようにしないようです。テンプレート拡大ディレクティブの場合のいずれかのように思える

<ng-include ng-repeat="page in ctrl.pages" 
      ng-controller="{{page.controller}}" 
      src="{{page.templateUrl }}"></ng-include> 
+1

角度uiルーティングについて聞いたことがありますか? – Yogesh

+0

はい、私はそれを使用していますが、私はこの特定のもののためにそれを使用したくない場合はどうしますか? – Chris

答えて

1

は、角度のドキュメントhereを参照してください。または、それらのページがアプリケーションのさまざまな「状態」を表している場合、ユーザーがURL経由で直接訪問する場合は、ui-routerの候補になります。

1

これをチェックすると、plnkが出力されます。

selectの利用可能なビューを追加し、選択に基づいてng-includesrcが更新されました。

私は意図的にcontrollerを初期化することを避けました。それらを含めることができます。

関連する問題