我正在使用AngularJS模塊ui-router
並使用resolve
屬性來獲取項目的ID。從狀態解析函數訪問返回的數據
在一個單獨的文件中,我有組件patent
狀態patents.patent
,它具有返回id
的功能。我需要從控制器訪問返回的id
,以便我可以收集與所選項目相關的正確數據。
如何從控制器訪問函數返回值resolve
?
var app = angular.module('myApp', ['ui.router', 'chart.js']);
app.config(['$stateProvider', function($stateProvider) {
$stateProvider
.state('patents', {
url: '/patents',
component: 'patents',
resolve: {
patents: function(patentsService) {
return patentsService.fetchAllPatents();
},
graphs: function(patentsService) {
return patentsService.fetchGraphData();
}
}
})
.state('patents.patent', {
url: '/{patentId}',
component: 'patent',
resolve: {
patent: function(patents, $stateParams) {
return patents.find(function(patent){
return patent.id == $stateParams.patentId;
})
},
graph: function(graphs, $stateParams) {
return graphs.dataset.find(function(graph){
return graph.id == $stateParams.patentId; //NEED THIS VALUE
})
}
}
})
}]);
angular.module('myApp').component('patent', {
bindings: {
patent: '=' ,
},
templateUrl: '../templates/patents/list/patent-item.htm',
controller: function() {
var vm = this;
//WHERE I NEED TO ACCESS THE RETURNED VALUE
}
});
,你可以注入分解成像控制器控制器功能:功能(專利,圖表) – Vivz
這就是我想,但它有錯誤'錯誤出現:$注射器:unpr 未知的提供者「 –
您可以使用指令而不是組件,但結構看起來相同,但是Idk您試圖使用組件 – Vivz