2016-11-15 7 views
2

プロジェクトのいくつかのHTMLページで同じコントローラを使用しています。 私の問題は、各ページが他のページにリンクし、それらの代わりにすべて同じコントローラを使用して、次のページが開かれ、各ページがそれ自身のコントローラを使用していることです。つまり、コントローラーは、新しい複製コントローラーで次のページには適用されません。コントローラーIDに基づいてページ内のコントローラーを使用できますか?

私は最近ので、各コントローラは、自身のID($scope.$id)を持っていることを認めた:

  • は、そのコントローラーのIDに基づいて、HTMLページで使用される特定のコントローラを要求する私のためのオプションがあります?

  • コントローラの変数を別の場所に保存する代わりに、各ページでリセットすることを心配せずに使用できる別のオプションがありますか?今

+3

がseveralsの方法があります使用することができます。..コントローラ間でデータを転送するには、(サービス?)からのデータを渡すためにコントローラーを別のコントローラーに接続します。 – Mistalis

+1

'ng-switch-view'を使ってビューを切り替え、同じコントローラを使用するhtmlページを入れ替えることができます。親ページにはコントローラが含まれ、残りのhtmlページは条件によって変化します。そして、コントローラは親ページにあったすべてのページで同じままです。 –

+1

データを保存し、必要に応じてそれらを取得するために、角度サービスに最も適した方法は他にもあります。 – Manish

答えて

0
<div ng-controller="myCtrl"> 
      <div ng-switch on="condition"> 
       <div ng-switch-when="condition_output_1"> 
        <div ng-include="'html_page_1_url.html'"></div> 
       </div> 
       <div ng-switch-when="condition_output_2"> 
        <div ng-include="'html_page_1_url_2.html'"></div> 
       </div> 
      </div> 
    </div> 

、これはすべてのために同じremianますhtml_page_1_url.htmlhtml_page_2_url.htmlまたは任意のHTML

myCtrlを交換します。


はあなたが

  • $rootscope
  • services
  • localstorage
+0

ありがとう、私は現在 '$ rootScope'を使っています。私はこれを避けたかったのです。 私は確かに他のオプションを見ていきます! –

関連する問題