Polymer JS 将函数从一个组件传递到另一个组件?
Polymer JS passing function from one component to another?
组件 A:
<polymer-element name="componentA" extends="core-ajax" attributes="onComplete">
<script>
Polymer('componentA',{
requestCompleted: function(){
this.onComplete();
}
});
组件 B:
<polymer-element name="componentB">
<template>
<componentA method="GET" onComplete="{{myCallbackFunction()}}"></componentA>
</template>
<script>
Polymer('componentB',{
name: 'doug',
myCallbackFunction: function(){
alert("this works!");
this.name='mike';
}
});
</script>
所以我的问题是我可以在 componentA 的属性中传递 myCallbackFunction,它会执行它,提醒 "this works!"。但是,componentB 名称仍设置为 'doug'。所以我可以成功传递该函数,但是我如何在该函数中访问组件 B 的变量?
改为使用事件。
组件 A:
<polymer-element name="componentA" extends="core-ajax">
<script>
Polymer('componentA',{
requestCompleted: function(){
// core-ajax already fires an event, but for demonstration
this.fire('complete');
}
});
组件 B:
<polymer-element name="componentB">
<template>
<componentA method="GET" on-complete="{{myCallbackFunction}}"></componentA>
</template>
<script>
Polymer('componentB',{
name: 'doug',
myCallbackFunction: function(e){
alert("this works!");
this.name='mike';
}
});
</script>
组件 A:
<polymer-element name="componentA" extends="core-ajax" attributes="onComplete">
<script>
Polymer('componentA',{
requestCompleted: function(){
this.onComplete();
}
});
组件 B:
<polymer-element name="componentB">
<template>
<componentA method="GET" onComplete="{{myCallbackFunction()}}"></componentA>
</template>
<script>
Polymer('componentB',{
name: 'doug',
myCallbackFunction: function(){
alert("this works!");
this.name='mike';
}
});
</script>
所以我的问题是我可以在 componentA 的属性中传递 myCallbackFunction,它会执行它,提醒 "this works!"。但是,componentB 名称仍设置为 'doug'。所以我可以成功传递该函数,但是我如何在该函数中访问组件 B 的变量?
改为使用事件。
组件 A:
<polymer-element name="componentA" extends="core-ajax">
<script>
Polymer('componentA',{
requestCompleted: function(){
// core-ajax already fires an event, but for demonstration
this.fire('complete');
}
});
组件 B:
<polymer-element name="componentB">
<template>
<componentA method="GET" on-complete="{{myCallbackFunction}}"></componentA>
</template>
<script>
Polymer('componentB',{
name: 'doug',
myCallbackFunction: function(e){
alert("this works!");
this.name='mike';
}
});
</script>