我有一条余烬路线,该路线会调用余烬组件以显示所有数据。
在某些情况下,路由的密钥发生了更改,我使用route.transitionTo
重新加载。数据加载正常。但是问题在于该组件确实在init
和didInsertElement
方法中填充了东西,而在route.transitionTo
上却没有触发。
如何确保在transitionTo
上再次调用该组件?
我不能使用route.refresh
,因为那样做不会导致模型异常。
任何帮助将不胜感激,谢谢!
答案 0 :(得分:1)
嗯,有一种更困难,更好的方法,还有一种懒惰而又快速的方法:
例如: router.hbs
{{component-name parameter=parameter}}
Component.js
lineWidth: Ember.computed('parameter', function() {
// I will run here if I get the parameter (and the parameter changed in route)
}),
router.hbs
{{#if reload}}
{{component-name}}
{{/if}}
router.js
this.set('reload', false);
Ember.run.next(() => {
this.set('reload', true);
});