我试图通过@Output传递参数但是被激活的函数只是接收到了#undefined'。有人可以告诉我通过@Output的EventEmitter传递参数的方法吗?例如:
var childCmp = ng.core.Component({
selector:'child-cmp',
outputs: ['myEvent']
}).Class({
constructor: function(){
this.myEvent = new ng.core.EventEmitter();
this.myEvent.emit(false);
}
});
var parentCmp = ng.core.Component({
selector:'parent-cmp',
template:'<child-cmp (myEvent)="invoke()"'></child-cmp>',
directives: [childCmp]
}).Class({
constructor:function(){},
invoke: function(flag){
// here flag is undefined!!
}
});
答案 0 :(得分:7)
您应该使用以下内容来获取事件提供的值:
<child-cmp (myEvent)="invoke($event)"'></child-cmp>'
这样,您invoke
的{{1}}方法会在发出childCmp
自定义事件时获得您提供的值作为参数。
希望它可以帮到你, 亨利
答案 1 :(得分:5)
Thierry的回答几乎是正确的,您需要在输出函数中传递 $ event :
<child-cmp (myEvent)="invoke($event)"'></child-cmp>'