【发布时间】:2017-01-31 14:59:22
【问题描述】:
我有一个组件需要接收我放置在路由上的操作,因为它的工作是刷新模型的一部分。
显然我可以从按钮调用路由操作,但我无法将相同的操作传递给组件。
路由器
export default Ember.Route.extend({
actions: {
doSomething: function(){
alert('Router handled!');
}
}
});
页面模板
<button {{action "doSomething"}}>speak</button>
{{myComponent onGetUsers=(action "doSomething")}}
组件
export default Ember.Component.extend({
actions: {
onPageClicked: function(pageNo){
this.sendAction('onGetUsers', pageNo);
}
}
});
按钮点击有效。当我使用该组件时,我会执行它的操作,但 sendAction 永远不会工作或触发。
是否存在不能将操作传递给下线组件的规则?还是我在代码中做错了什么?
【问题讨论】:
-
我能够通过使用控制器上的操作来触发路由器,方法是使用 this.send() 而不是 this.sendAction() 但我仍然想知道为什么将路由器操作发送到该组件不起作用。如果可能的话。
标签: ember.js