2015-12-08 66 views
2

如何將我的url中的動態段傳遞給組件?我可以在我的模型中獲取參數,但我不知道如何將它傳遞給組件。我現在做的是:如何將動態段傳遞給餘燼組件

export default Ember.Route.extend({ 
    sectionId: 0, 

    model(params) { 
     this.set('sectionId', params.section_id); 
     return this.store.findAll('content'); 
    } 
}); 

而且在模板:

{{#component id=sectionId}}{{/component}} 

但是當我登錄的ID在我的組件,它說不確定。

+0

'sectionId'模板將找不到航線上的屬性。 –

+1

Ember.set(this.get('controller'),'sectionId',params.section_id)。不過,我不明白使用分段路線,並沒有任何關於你的模型查詢。也許你可以發佈更多的代碼。 –

回答

3

您可以設置控制器屬性在setupController鉤。

export default Ember.Route.extend({ 
    sectionId: 0, 

    model(params) { 
     this.set('sectionId', params.section_id); 
     return this.store.findAll('content'); 
    }, 

    setupController(controller, model) { 
     controller.set('sectionId', this.get('sectionId')); 
    } 
}); 
0

Your controller can have access to the params,所以請確保您在控制器中聲明。

例如,對於您的控制器:

export default Ember.Controller.extend({ 
    queryParams: ['section'], 
    section: null 
}); 

而且在你的模板:

{{#component id=section}}{{/component}} 

注意,這是假設你的URL看起來像http://example.com/posts/1?section=3

相關問題