2015-10-03 25 views
1

我正在使用UI-Router for AngularJS,這裏是一個問題 - 當我點擊一個鏈接發送給特定狀態(使用ui-sref)的時候,我想發送AJAX請求到後端,獲取數據,並將它們呈現在與此新狀態相關的模板中。我應該聽哪個事件發出AJAX請求?你能給我一個這個監聽器的代碼示例嗎?我明白這個問題似乎很簡單,但我是AngularJS世界的新手。如何在AngularJS UI-Router上更新進入狀態的數據?

謝謝。

+1

推薦在UI路由器演示中 – charlietfl

回答

3

看看您的狀態配置上的resolve屬性。請參閱ui-router wiki

然後將解析的屬性注入爲控制器的依賴項。


例子:

$stateProvider.state('about', { 
    templateUrl: 'about.html', 
    controller: 'AboutController', 
    resolve: { 
     something: function ($http) { 
      // make ajax request 
      return $http.get(...).then(function (response) { 
       return response.data; 
      }); 
     } 
    } 
}) 

在控制器中,我們注入將要解決的數據,即something:你通過一些教程去以及代碼

app.controller('AboutController', function (..., something, ...) { 
    // The data resolved by ui-router is ready when the controller is instantiated 
} 
+0

謝謝!它工作完美! –

+0

不客氣,很高興幫助! –