2017-02-25 109 views
-1

當我使用「location.href」爲了重定向到另一個視圖我當前的控制器重新初始化。這兩個視圖都使用相同的控制器。視圖之間更好的方式是什麼,但不重新創建控制器?如何使用相同的angularjs控制器重定向視圖?

function onAddNewTest() { 
      //some logic here 
      location.href = '/#/testList'; 
    }; 

路由本身:

.module('applicationModule', ['ngRoute']) 
    .config(function ($routeProvider) { 
     $routeProvider 
     .when('/testList', { 
      controller: 'testController as vm', 
      templateUrl: '/Scripts/views/testList.html' 
     }) 
+0

能否請你告訴你的代碼? – tocqueville

+0

https://docs.angularjs.org/api/ng/service/$location#url。但是這不會重複使用相同的控制器。只需防止整個頁面重新加載並重新啓動應用程序。你所要求的是不可能的。 –

+0

Angular UI路由器是你在找什麼,具體是多個命名的視圖和嵌套路由 – digit

回答

1

嘗試使用$location.path()在你的控制器是這樣的:

function onAddNewTest() { 
    //some logic here 
    $location.path('/testList'); 
}; 

而且不要忘記添加依賴於你的控制器。

希望它可以幫助

相關問題