因此,我正在尝试将图表构建为with组件,但在映射数组时遇到了一些问题。错误说明: this.values.map不是一个函数
代码如下:
import {LitElement, html, css} from 'lit-element';
class ApexChart extends LitElement {
static get properties(){
return{
values: {Array},
labels: {Array}
};
}
constructor(){
super();
this.values = [];
this.labels =[];
}
static get styles(){
return css `
`;
}
render(){
return html`
<p>${this.values.map(value => {value + 1})}</p>
`;
}
}
customElements.define('apex-chart', ApexChart);
我正在传递来自html的值
<apex-chart values="[1,2,3,4]" labels="['Hi', 'Hello', 'Oi', 'Hola']"></apex-chart>
我看不出我做错了什么
发布于 2019-03-01 09:03:45
您有两个问题:
1) properties
type converter定义不正确。它应该是:
static get properties(){
return{
values: { type: Array },
labels: { type: Array }
};
}
2) map方法不能正常工作。目前,它返回undefined
值,因为如果使用{}
,则必须使用return
关键字。
> [0, 1].map(value => { value + 1 })
<- (2) [undefined, undefined]
请改用:
render(){
return html`
<p>${this.values.map(value => value + 1)}</p>
`;
}
或者:
render(){
return html`
<p>${this.values.map(value => { return value + 1; })}</p>
`;
}
https://stackoverflow.com/questions/54933374
复制相似问题