[英]Ember.js bubble event with the same name
我想將一個具有相同名稱的事件從控制器冒泡到application:route並傳遞參數。
這不起作用:
blog.hbs
<button {{action "createList"}}>Create List</button>
blog_controller.js
actions: {
createList: function() {
this.send('createList', 'value1', 'value2');
}
}
application_route.js
actions: {
createList: function(param1, param2) {
console.log('I want to be caught here!!');
}
}
當前,僅當我為冒泡順序正確時,如果我為application_route和blog_controller中的動作選擇了不同的名稱(例如( blogController:createIt
和applicationRoute:createList
blogController:createIt
)),此行為才起作用。
如何使它與相同的方法名稱一起使用?
如果您想讓某個動作在處理程序鏈中繼續而不更改params ,則只需從該動作處理程序返回true即可。
但是,您需要使用一組新的參數來調用該動作。 在這種情況下,您應該將操作發送到控制器的target
。 例如
blog_controller.js
actions: {
createList: function() {
this.get('target').send('createList', 'value1', 'value2');
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.