dom-repeat テンプレートを含む単純な dom-module があります。
<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>
ここで私はそれを使用します:
<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>
次のエラーが表示されます。
キャッチされていない TypeError: 未定義のプロパティ 'extends' を読み取ることができません
私の2番目のコードではほぼ同じプロセスが機能しているため、どうすればよいかわかりません...
編集:
今では余分なモジュールを使用せず、「拡張」という言葉も使用しません...
<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>
新しいエラーは次のとおりです。「[dom-repeat::dom-repeat]: expected array for items, found Object」これを試してみると:
properties: {
links: {
type: Array,
notify: true,
value: function(){ return []; }
}
}
同じエラーが発生します。