gpt4 book ai didi

javascript - 在 states.js 中使用多个解析

转载 作者:行者123 更新时间:2023-12-02 16:28:23 27 4
gpt4 key购买 nike

我有一条路线如下:

var entryShow = {
name: 'entry.show',
url: '/:entry_id',
views: {
'@':{
templateUrl: TEMPLATES.entry_show,
controller : 'EntryShowController',
resolve: {
entryData: ['$stateParams', 'Entry', function($stateParams, Entry){
return Entry.getEntry($stateParams.entry_id);
}],
entryHistory: ['$stateParams','Entry',function($stateParams,Entry){
return Entry.getHistory($stateParams.entry_id);
}]
}
}
}
};

在我的 Controller 中,我添加了两个解析,如下所示:

App.controller('EntryShowController',['$scope','$state','entryData', 'Entry',
function($scope, $state, entryData, entryHistory, Entry) {
...
$scope.entry = entryData.data.entry;
console.log('Entry History');
console.log(entryData);
console.log(entryHistory);
$scope.entry.history = entryHistory.data;
...
}]);

在console.log中,我得到了entryData的正确结果,但对于entryHistory,我得到了entryService对象而不是结果。另外,当我交换 getEntry 和 getHistoyr 使得 getHistory 在第一个解析中被调用时,entryHistory 中的值是正确的,但在entryData 中我得到了entryService 对象。我还检查了wiki用于在 state.js 中使用解析。我做错了什么?

以下是我的入口服务:

App.factory('Entry', ['$http','Common', function($http,Common){
var entryService = {};

entryService.getEntry = function(entry_id) {
show_page_loader();
return $http.get(URLS.entry_show_path, {params: { id: entry_id }})
.success(function(result){
return result;
})
.error(function(data){
common_flash_error_message();
});
};

...

entryService.getHistory = function(entry_id){
return $http.get(
URLS.entry_history_path,
{
params: {id: entry_id}
}
)
.success(function(data){
return data;
})
.error(function(data){
common_flash_error_message();
});
};

return entryService;
}]);

最佳答案

您忘记将 entryHistory 注入(inject)数组,因此您混淆了注入(inject):

App.controller('EntryShowController',[
'$scope', '$state', 'entryData', 'Entry',
function( $scope, $state, entryData, entryHistory, Entry) {

}]);

这里,enterHistory将保存entry

关于javascript - 在 states.js 中使用多个解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28525169/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com