2015-10-30 145 views
0

我有一個API與兩條路線/api/new/api/old。 項目是請求api的角廠($http.get())。ng路由與相同的控制器

在控制器默認情況下,我請求/api/new

在應用程序中,我有兩個按鈕新建和舊。

我想在聽$locationChangeStart並再次加載項目,但我搜索這似乎不是一個最佳實踐。

它最好使用ng-click('old')ng-click('new')來獲取數據?

有人可以解釋我最新的做法是什麼?

PS。我只想保留一個控制器。

回答

1

我猜你正在使用角度路由器angular-ui-router好得多。在那裏,你可以使用

 .state('new', { 
      url: '/new', 
      templateUrl: 'views/view.html', 
      controller: 'YourCtrl', 
      data: { 
       action: 'new' 
      } 
     }) 

     .state('old', { 
      url: '/old', 
      templateUrl: 'views/view.html', 
      controller: 'YourCtrl', 
      data: { 
       action: 'old' 
      } 
     }) 

在控制器,你可以通過$state.$current.data.action訪問標誌。

+0

但它可能使用相同的控制器? – Hiero

+0

當然。唯一的條件是各州應該有不同的路徑和名稱。 –

+0

請再次檢查我的答案。我糾正了它。我第一次建議解決另一個問題。 –