2014-11-14 16 views
0

當我點擊按鈕和angulajs呼叫路由加載詳細信息頁面。爲什麼當 我回到主頁(瀏覽器上的後退按鈕)選擇HTML丟失值和人員列表上的元素?先謝謝了。Angulajs路由和當回覆所有

這是我的代碼:

HTML

<div ng-app> 
    <h2>Test</h2> 
    <div ng-controller="MainCtrl"> 
     <select ng-options="people.id as people.name for people in peoples" ng-model="test"> 
     <option value="">Select People...</option> 
     </select> 

     <a href="#/details/{{people.id}}" class="btn btn-warning btn-xs"><span class="fa fa-edit"></span> Details</a> 

    </div> 
    </div> 

控制器:

function MainCtrl($scope) { 

$scope.peoples = [ 
    {id: '1', name: 'Jon'}, 
    {id: '2', name: 'Peter'} 
    ]; 



} 

APP.JS:在角

App.config(['$routeProvider', function ($routeProvider) { 
    $routeProvider   
      .when('/details/:id', { 
       templateUrl: configuration.appPartialPath + 'details.html', 
       controller: 'DetailsCtrl' 
      }) 

      .otherwise({ 
       redirectTo: '/' 
      }); 
    }]); 

回答

0

控制器是按需創建。當您離開由控制器管理的視圖時,它將隨着其範圍而被銷燬,並且當再次進入相同視圖時會創建一個新視圖。如果你想保留你的示波器數據,你將不得不把它放在別的地方。

由於Angular服務是單例,因此可以用於此目的。您只需將這樣的服務注入到控制器中,並將其綁定到暴露給視圖的範圍變量。每當創建一個新的控制器時,與您的數據相同的服務將被注入到其中。

+0

給我一些教程或例子嗎?感謝丹尼爾。 – 2014-11-14 16:21:17

相關問題