0
我試圖用解決功能在我的UI路由器狀態提供。 我如下配置的:AngularJS UI路由器無法解決服務呼叫
app.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function ($stateProvider, $urlRouterProvider, $locationProvider) {
...
$stateProvider.state('expositions', {
url: '/Expositions',
views: {
"container": {
templateUrl: '/views/expositions.html',
resolve: {
expositions: function ($http) {
return $http.get('/api/site/expositions').then(
function (response) {
console.log("DATA", response.data);
return response.data;
},
function (error) {
console.log("ERROR", error);
})
}
}
}
}
})
...
}
在這種情況下,當我點擊鏈接論述的決心不叫,不進行導航:什麼也沒有發生。
我也嘗試了與工廠的配置(一個資源服務)如下:
app.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function ($stateProvider, $urlRouterProvider, $locationProvider) {
...
$stateProvider.state('expositions', {
url: '/Expositions',
views: {
"container": {
templateUrl: '/views/expositions.html',
resolve: {
expositions: function (Resources) {
console.log("DATA", Resources);
return Resources.expositions();
}
}
}
}
})
...
}
資源服務在一個單獨的文件中定義如下:
resourcesService.js
(function() {
'use strict';
angular
.module('site')
.factory('Resources', ['$resource',
function ($resource) {
return $resource('/api/site/:action/:id', {}, {
...
expositions: {
method: 'GET',
params: { action: "expositions" },
isArray: true
//transformResponse: function (data) {
// return angular.fromJson(data).list
//}
},
...
});
}
]);
})();
此外,在這種情況下,什麼也沒有發生,解析函數沒有被調用。
我錯過了什麼?
非常感謝!