gpt4 book ai didi

javascript - 如何在Polymer 1.0中调用元素的自定义方法?

转载 作者:行者123 更新时间:2023-11-27 23:51:07 25 4
gpt4 key购买 nike

我正在编写新版本的 chrome 扩展,但遇到了麻烦。

这是我的元素代码:Element code

在第 32 行,我尝试调用自定义方法 willUpdateBackground,控制台告诉我该方法未定义。代码如下。

Polymer({
is: 'pure-newtab',
ready: function() {
console.dir(this.$.background);
this.$.background.willUpdateBackground('color', '#333');
// This line get error, 'willUpdateBackground' is undefined
}
});

定义

Polymer({
is: 'pure-background',
ready: function () {
},
willUpdateBackground: function(type, imageOrColor) {
console.log(type);
console.dir(this);
}
});

但是如果我存储这个对象,在控制台中我可以调用temp1.willUpdateBackground,这很奇怪。截图:/image/OTLgw.png

已修复但问题再次发生我将自定义方法调用移至 attached 回调,在某些环境中,元素在 ready 函数中未准备好。在我修复它之后,它再次发生:在 attached 方法中,调用再次失败,我将其移动到延迟 100ms 的异步调用,问题再次消失。这不是一个可靠的解决方案,我仍在寻找出路。

    this.async(function () {
this.$['background'].updateBackground('rgba(255,128,0,1)', 'url(https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png)');
}, 100);

最佳答案

我尝试将你的代码粘贴到这个jsbin中,它工作得很好...(我评论了你的console.dir()并添加了一些我自己的console.log(),但这就是我所做的一切) http://jsbin.com/tomewigobu/1/edit?html,console,output

我建议您检查您的 polymer 版本是否已更新,这应该会有所帮助。

关于javascript - 如何在Polymer 1.0中调用元素的自定义方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32699478/

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