gpt4 book ai didi

polymer - dom-repeat 模板无法呈现数组,错误为 'expected array for items'

转载 作者:行者123 更新时间:2023-12-04 19:56:30 25 4
gpt4 key购买 nike

我有一个呈现数组对象的简单模板。但是,它失败并显示以下消息:

[dom-repeat::dom-repeat]: expected array for `items`, found [{"code":1,"name":"Item #1"},{"code":2,"name":"Item #2"},{"code":3,"name":"Item #3"}]

该数组以以下格式传递到自定义元素的属性中:
[{"code":1,"name":"Item #1"},{"code":2,"name":"Item #2"},{"code":3,"name":"Item #3"}]

我已阅读 docs on template repeaters几次,仍然无法找到我做错了什么。

任何帮助将非常感激!

这是我的自定义元素:
<dom-module id="x-myelement">   
<template>
<div>
<h1>{{title}}</h1>
<ul>
<template is="dom-repeat" as="menuitem" items="{{items}}">
<li><span>{{menuitem.code}}</span></li>
</template>
</ul>
</div>
</template>
<script>
(function() {
Polymer({
is: 'x-myelement',

title: String,

items: {
type: Array,
notify: true,
value: function(){ return []; }
}
});
})();
</script>
</dom-module>

现在我使用它:
<x-myelement title="Hello Polymer" 
items='[{"code":1,"name":"Item #1"},{"code":2,"name":"Item #2"},{"code":3,"name":"Item #3"}]'>
</x-myelement>

最佳答案

您需要将元素属性放入 properties对象(参见 Polymer documentation on properties ):

Polymer({
is: 'x-myelement',
properties: {
title: String,
items: {
type: Array,
notify: true,
value: function() {return [];}
}
}
});

否则 Polymer 没有关于您的属性的信息。它将项目视为字符串,并且不会将属性值解析为 JSON 数组。终于 dom-repeat为其 items 传递了一个字符串属性也是如此,导致您看到的错误。

关于polymer - dom-repeat 模板无法呈现数组,错误为 'expected array for items',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31908958/

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