gpt4 book ai didi

behavior - 如何在 Polymer 1.0 中调用默认行为的方法?

转载 作者:行者123 更新时间:2023-12-02 06:16:09 26 4
gpt4 key购买 nike

在 polymer 1.0 中,我有一个定义属性和方法的行为脚本:

<script>
dataBehavior = {
properties: {
data: {
type: Array,
value: null,
observer: 'dataChanged'
}
},
dataChanged: function(newValue, oldValue) {
console.log('default stuff');
}
};
</script>

和使用该行为的组件:

<dom-module id="my-module">
<template>
</template>
<script>
Polymer({
is: "my-module",
behaviors: [dataBehavior],
dataChanged: function(newValue, oldValue) {
// How to call the dataChanged method from dataBehavior?
// this.super.dataChanged(); <- don't works!
console.log('custom stuff');
}
});
</script>
</dom-module>

当我更改数据属性时,执行的方法来 self 的模块,因此它会生成“自定义内容”。如果我删除我的模块中的 dataChanged 方法,它会执行“默认内容”。

如何同时执行默认行为的方法和组件的方法?

如果可能的话,我不想将代码从“dataBehavior.dataChanged”复制到“my-module.dataChanged”。我想在组件的方法中调用行为的方法;我可以使用“super”之类的东西来引用行为脚本吗?

非常感谢您的回答!

最佳答案

您也可以简单地调用 dataBehavior.dataChanged.call(this, newValue, oldValue):

<dom-module id="my-module">
<template>
</template>
<script>
Polymer({
is: "my-module",
behaviors: [dataBehavior],
dataChanged: function(newValue, oldValue) {
dataBehavior.dataChanged.call(this, newValue, oldValue)
}
});
</script>
</dom-module>

关于behavior - 如何在 Polymer 1.0 中调用默认行为的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31466332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com