因此,我试图将图表构建为Web组件,并且在映射数组时遇到了一些麻烦。错误提示: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>
我看不到我在做什么错
答案 0 :(得分:0)
您有两个问题:
1)<preference name="SplashScreen" value="none" />
<preference name="FadeSplashScreenDuration" value="0" />
type converter的定义不正确。应该是:
properties
2)map方法无法正常工作。当前,它返回static get properties(){
return{
values: { type: Array },
labels: { type: Array }
};
}
值,因为如果使用undefined
,则必须使用{}
关键字。
return
代替使用:
> [0, 1].map(value => { value + 1 })
<- (2) [undefined, undefined]
或者:
render(){
return html`
<p>${this.values.map(value => value + 1)}</p>
`;
}