我在用聚合物Web组件。
每当我使用 这个. 时,都会得到一个错误,它是未定义的。,我也尝试了this.shadowRoot,它声明它是null。
例如:
在<polymer-element>内部
<script>
Polymer({
cardClick: function(event, detail, sender) {
this.$.ordertemplatediv.style.display = 'none';
// the above line gives the following error:
// "Uncaught TypeError: Cannot read property 'style' of undefined"
this.shadowRoot.querySelector('#ordertemplatediv').style.display = 'none';
// the above line gives the following error:
// "Uncaught TypeError: Cannot read property 'style' of null"
}
});
</script>在另一个文件中的另一个<polymer-element>中:(为了清晰起见,省略了关闭标记)
<template>
<div id="ordertemplatediv">
<template repeat="{{item in items}}">
<!-- some irrelevant elements -->这两个文件的根元素都是<polymer-element>。
在这个项目中,我多次尝试在不同的情况下使用this.$,但它从未起作用。有什么想法吗?
任何帮助都将不胜感激。
编辑1-上下文
这就是我真正想要做的:
我有3 <polymer-elements>,我们称之为<list-1>,<l-card>和<list-2>。
<list-1>看起来是这样的:(为了清晰起见,省略了结束标记)
<polymer-element name="list-1">
<template>
<template repeat="{{post in posts}}">
<l-card><l-card>包含上面的<script>。
<list-2>包含上面的<template>。
我希望当点击(或点击) <list-2> <l-card> in <list-2> 时,被刷新(数据重新加载)。
发布于 2014-10-29 17:49:42
如果要分隔Polymer()调用和它注册的<polymer-element>,则需要传递元素的名称:
Polymer('your-element', {
...
}); 否则,您需要将<template>放入<polymer-element>中,以便匿名注册工作。
https://stackoverflow.com/questions/26636780
复制相似问题