etc/hosts
<dom-module id="bookmark-extends">
<style>(...)</style>
<template>
<template is="dom-repeat" items="[[extends]]" as="extend">
<a href="[[extend.url]]">
<paper-button>[[extend.__firebaseKey__]]</paper-button>
</a>
</template>
</template>
</dom-module>
<script>
Polymer({
is: 'bookmark-extends',
properties: {
extends: {
type: Array,
notify: true,
value: function(){ return []; }
}
}
});
</script>
我收到了这个错误:
未捕获的TypeError:无法读取未定义的属性“extends”
请帮帮我,我不知道该怎么办 因为在我的第二个代码中,几乎相同的过程正在运行......
现在我不使用额外的模块,不再使用“extend”这个词......
<dom-module id="bookmark-cards">
<style>(...)</style>
<template>
<firebase-collection
location="*******"
data="{{bookmarks}}"></firebase-collection>
<template is="dom-repeat" items="[[bookmarks]]" as="bookmark">
(...)
<div hidden="[[!bookmark.extendable]]" class="card-actions">
<bookmark-extends extends="[[bookmark.extends]]">
</bookmark-extends>
</div>
<div hidden="[[!bookmark.searchable]]" class="card-actions">
<input-search-on-site id="input" website-name="[[bookmark.__firebaseKey__]]" website-search-url="[[bookmark.searchUrl]]">
</input-search-on-site>
</div>
</paper-card>
</template>
</template>
</dom-module>
<script>Polymer({
is: 'bookmark-cards'
});</script>
新错误是:“[dom-repeat :: dom-repeat]:项目的预期数组,找到对象” 如果我试试这个:
<div hidden="[[!bookmark.expandable]" class="card-actions">
<template is="dom-repeat" items="[[bookmark.links]]" as="link">
<a href="{{link.url}}"><paper-button>{{link.__firebaseKey__}}</paper-button></a>
</template>
</div>
同样的错误来了。
答案 0 :(得分:0)
一些事情。根据Polymer建议,将您的脚本元素移动到dom-module标记内。
https://www.polymer-project.org/1.0/docs/devguide/properties.html
其次,不要使用&#34;延伸&#34;作为实例变量/属性名称。 Extends是一个Polymer关键字,用于扩展现有的HTML元素。
https://www.polymer-project.org/1.0/docs/devguide/registering-elements.html
此Plunker显示了主要更改:http://plnkr.co/edit/BKzrfC
<dom-module id="bookmark-extends">
<template>
<template is="dom-repeat" items="[[extnds]]" as="extend">
<div>extend</div>
</template>
</template>
<script>
Polymer({
is: 'bookmark-extends',
properties: {
extnds: {
type: Array,
notify: true,
value: function(){ return ['one', 'two']; }
}
}
});
</script>
</dom-module>