2016-05-14 26 views
1
// 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; 
     } 
     }) 
    } 

//方面 當我打開我的調試器被退回正確的值,但最終當它到達了我的決心,對象是露出不確定的。誰能幫我嗎。目的是達到目標的決心

回答

1

你的聊天屬性函數沒有返回任何東西。

我對離子的瞭解不多,但我猜測它的解析屬性與Angular的$ routeProvider之一是resolve - {Object.<string, function>=}一樣。

解析對象中的每個屬性都是一個函數。在所有解析函數返回值後(或者如果那些返回值是承諾,那些全部解析完成後),控制器將加載注入的依賴項。

你應該能夠通過簡單地返回你的「跑」對象來解決這個問題。

// 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); 
       return ran; 
      }] 
      } 
     } 
     } 
    })