2016-05-14 16 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; 
      }] 
      } 
     } 
     } 
    }) 
関連する問題