2015-10-16 52 views
0

這是我的路由器:EmberJS:如何在兒童之間轉換時觸發父級模型刷新?

this.route('bundle', { path: 'bundles/:slug', resetNamespace: true }, function() { 
     this.route('pricing'); 
    }); 

因此有兩個孩子的路線:indexpricing

索引是捆綁包中所有產品的列表,而定價是您可以購買捆綁包的位置。當有人購買了捆綁,在pricing頁面顯示link-to

{{#link-to 'bundle' bundle.slug}}View Bundle{{/link-to}}` 

這擊中modelbundle.index,但不是父路徑bundle。購買後,我需要刷新父路由的模型,不過因爲需要在前端顯示模型的服務器端更改。

我該如何做到這一點?

+0

''''''''''''''''''''''''定價''或'索引'路線被加載時''did'我想你可以使用它,否則你可以從子路由發送一個動作給父母。 – AcidBurn

+0

你的路徑定義看起來很奇怪。我不指出你的索引路徑應該有路徑中的''':slug'''。 – Keo

回答

0

在轉換掛鉤上,您可以通過modelFor詢問父模型。

willTransition(){ 
    let model = this.modelFor('bundle'); 
} 

雖然有可能,你將不得不重新定義你的路線,因爲它看起來像你的基地路由器有參數的路徑。