Javascript Ember 2.10.x通过操作(Popover)将elemendId从子组件传递到父组件
给定以下代码:Javascript Ember 2.10.x通过操作(Popover)将elemendId从子组件传递到父组件,javascript,ember.js,popup,Javascript,Ember.js,Popup,给定以下代码: {{#my-popover tagName="i" title="Wirklich löschen?" classNames="fa fa-times red-text"}} <button class="btn btn-warning" {{action 'removeRecord'}}>Delete it!</button> {{/my-popover}} 在删除父组件操作中的记录后,我需要从组件my popover中生成的elemendId来关闭
{{#my-popover tagName="i" title="Wirklich löschen?" classNames="fa fa-times red-text"}}
<button class="btn btn-warning" {{action 'removeRecord'}}>Delete it!</button>
{{/my-popover}}
在删除父组件操作中的记录后,我需要从组件my popover中生成的elemendId来关闭popover。将生成的elemendId作为my-popover.js文件的sendAction方法中的第二个参数传递。 例如:
import Ember from 'ember';
export default Ember.Component.extend({
actions: {
doSomething(){
this.sendAction("doSomething", this.get('elemendId'));
}
}
});
您需要从我的popover组件到父组件生成elementId
为你创造的
my-popover.hbs:我正在向调用者提供elementId属性
{{yield elementId}}
application.hbs:从我的popover组件获取elementId并将其传递给removeRecord函数
{{#my-popover tagName="i" title="Wirklich löschen?" classNames="fa fa-times red-text" as |elementId|}}
<button class="btn btn-warning" {{action 'removeRecord' elementId}}>Delete it!</button>
{{/my-popover}}
太好了!这是上下文组件的力量。
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
actions:{
removeRecord(elementId){
console.log('removeRecord in application ',elementId);
}
}
});