我在$ stateProvider
中通过一个服务返回一个承诺然后我在实例化控制器之前将promise添加到我的控制器视图模型
我正在尝试使用点语法来访问promise的不同部分,但它不起作用
当我展示整个承诺(vm.detail = historyDetailPromise)时,它只显示为JSON
HELP !!
depositDetail.html
(function () {
'use strict';
angular
.module('app.history')
.config(stateProvider)
.controller('HistoryDetail', HistoryDetail);
stateProvider.$inject = ['$stateProvider'];
HistoryDetail.$inject = ['historyDetailPromise'];
/* @ngInject */
function stateProvider($stateProvider){
$stateProvider
.state('app.history-detail', {
url: "/history/:id",
views: {
'menuContent': {
templateUrl: "app/history/depositDetail.html",
controller: 'HistoryDetail as vm',
resolve: {
historyDetailPromise: function(historyService, $stateParams){
return historyService.historyDetail($stateParams.id);
}
}
}
}
})
}
/* @ngInject */
function HistoryDetail(historyDetailPromise) {
/* jshint validthis: true */
var vm = this;
vm.activate = activate;
vm.title = 'HistoryDetail';
vm.detail = historyDetailPromise;
activate();
////////////////
function activate() {
}
}
})();
<ion-view view-title="{{vm.title}}">
<ion-content>
<h1>{{vm.title}}</h1>
<h1>{{vm.detail.id}}</h1>
</ion-content>
</ion-view>
答案 0 :(得分:0)
我实际需要做的就是使用vm.detail = historyDetailPromise [0];在我的控制器中,因为返回的promise是一个数组而不是一个对象,我错过了[0]