0
我正在使用angular-ui-router的resolve
在移動狀態之前從服務器獲取數據。我想通知用戶請求是否失敗。我有服務會響應請求失敗的錯誤。我的問題是如何檢測UI-resolve
中的故障並觸發某些Modal服務,如彈出。在Angular UI路由器中未解決數據時出錯處理
我已經在網上閱讀了一些相關帖子,但我仍然困惑如何讓它發生。先謝謝了!
配置和服務:
angular.module('myApp',['ui.router', 'ngAnimate', 'ui.bootstrap'])
.config(function ($stateProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$stateProvider
.state('customer', {
url: '/customer',
templateUrl: '/customer.html',
controller: 'CustomerCtrl',
resolve: {
/*
* How to inject CustomerService here
* How to catch the server error
* How to trigger a popup
*/
data: cusomter_data
}
});
})
.service('CustomerService', function($http, $q) {
return ({
getGeneral: getGeneral
});
function getGeneral(customer_id) {
var request = $http({
method: "get",
url: '/customer',
params: {
customer_id: customer_id
}
});
return (request.then(handleSuccess, handleError));
}
function handleError (response){
if (!angular.isObject(response.data) || !response.data.message) {
return($q.reject("Failed to retrieve customer information."));
}
return($q.reject(response.data.message));
}
function handleSuccess(response) {
return (response.data);
}
});
創建解決方案。 – Raj