我正在使用UI-Router for AngularJS,這裏是一個問題 - 當我點擊一個鏈接發送給特定狀態(使用ui-sref)的時候,我想發送AJAX請求到後端,獲取數據,並將它們呈現在與此新狀態相關的模板中。我應該聽哪個事件發出AJAX請求?你能給我一個這個監聽器的代碼示例嗎?我明白這個問題似乎很簡單,但我是AngularJS世界的新手。如何在AngularJS UI-Router上更新進入狀態的數據?
謝謝。
我正在使用UI-Router for AngularJS,這裏是一個問題 - 當我點擊一個鏈接發送給特定狀態(使用ui-sref)的時候,我想發送AJAX請求到後端,獲取數據,並將它們呈現在與此新狀態相關的模板中。我應該聽哪個事件發出AJAX請求?你能給我一個這個監聽器的代碼示例嗎?我明白這個問題似乎很簡單,但我是AngularJS世界的新手。如何在AngularJS UI-Router上更新進入狀態的數據?
謝謝。
看看您的狀態配置上的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
}
謝謝!它工作完美! –
不客氣,很高興幫助! –
推薦在UI路由器演示中 – charlietfl