我有一个非常简单的组件,它有两个动作,开始和停止。单击按钮时会触发这些。第一个动作冒泡到路由并按预期工作,但是第二个动作在组件中触发,但从未到达路由。
我刚开始玩 Ember,但我认为组件可以执行多个操作?
控制台中没有错误,该按钮不执行任何操作,并且永远不会显示来自路由的控制台日志。
组件动作
actions: {
start() {
console.log('component start called');
this.sendAction('start', this.get('item'));
},
stop() {
console.log('component stop called');
this.sendAction('stop', this.get('item'));
}
}
路由操作
actions: {
start (server) {
console.log('route start called');
server.set("settings.amazonTask", 'start');
server.save();
},
stop (server) {
console.log('route stop called');
server.set('settings.amazonTask', 'stop');
server.save();
}
}
模板
<button type="button"
class="btn btn-default btn-sm" {{action "start"}}>
Turn on
</button>
<button type="button"
class="btn btn-default btn-sm" {{action "stop"}}>
Turn off
</button>