// This is ionic code
.state('tab.chat-details', {
url: '/chats/:chatId',
views: {
'chat-details': {
templateUrl: 'templates/chat-detail.html',
controller: 'ChatDetailController',
resolve: {
chat: ['$stateParams', 'Chats', function($stateParams,Chats) {
var ran = Chats.getChat(parseInt($stateParams.chatId, 10));
console.log(ran);
}]
}
}
}
})
// service code
getChat: function(chatId) {
chats.forEach(function(value, key) {
if(value.id === chatId) {
return value;
}
})
}
//上下文 当我打开我的调试器时,返回了正确的值,但最终当它到达我的解析对象时,它显示未定义。任何人都可以帮助我。
答案 0 :(得分:1)
您的聊天属性功能未返回任何内容。
我对Ionic知之甚少,但我猜它的resolve属性与Angular的$ routeProvider相同,即connectionTglBtn
。
resolve对象中的每个属性都是一个函数。在所有解析函数都返回值之后,控制器将使用注入的依赖项加载(或者如果这些返回值都是promises,则在这些值完成后都会被解析)。
您应该只需返回“ran”对象即可解决此问题。
resolve - {Object.<string, function>=}