簡體   English   中英

具有相同名稱的Ember.js泡泡事件

[英]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:createItapplicationRoute: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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM