2016-07-04 101 views
0

我正在嘗試使用ng-router在某些路由的解決階段執行一些操作。ngRouter是否支持「嵌套」解決?

  1. 獲取報價
  2. 從第一決心採取要約數據,檢查是否如預期其狀態。如果不是,則顯示將重定向用戶的消息。如果狀態正常,它將解決第二個解決方案並加載控制器。

代碼:

resolve: { 
    offer: ['$q', '$route', 'viewsService', function verifyOfferStatus($q, $route, viewsService) { 
     var deferred = $q.defer(); 

     viewsService.getOffer($route.current.params.idoffre) 
     .then(function success(data) { 
      return deferred.resolve(data); 
     }) 
     .catch(function error(err) { 
      return deferred.reject(err); 
     }); 

     return deferred.promise; 
    }], 
    test: ['offer', function(offer) { 
     debugger; 
     console.log(offer); 
    }] 
} 

如果我使用的UI路由器,我也只會在responseData注入依賴的決心,但我得到一個Unknown provider: offerProvider <- offer <- test錯誤。

額外的信息:

  • 我使用的組件我的路線模板
+0

這個驗證也是一個承諾? – dfsq

+0

@dfsq我已經更新了代碼示例以顯示實際的服務調用。 – justinledouxweb

+0

無論如何,不​​清楚你的問題是什麼,你已經擁有了你需要的一切,只需像往常一樣解決/拒絕。您可以根據需要儘可能多地嵌套它們。 – dfsq

回答