artTemplate--使用artTemplate时,由于json对象属性有特殊格式 导致调用报错artTemplate,syntax error,Template Error

我们首先看下面的代码

data = {
    "siteName" : "西部云谷二期17",
        "PM10" : "10017",
        "PM2.5" : 17
};
source = '<li>{{siteName}}</li>' +
    '<li>{{PM10}}</li>' +
    '<li>{{[\'PM2.5\']}}</li>';
render = template.compile(source);
html = render();

console.log(html);

结果出现Template Error

分析原因可能是字段“PM2.5”中有.在JavaScript.代表获取属性,例如user.Name就是获取user对象的Name属性。

那么就有解决办法了,我们试试如下办法:

data = {
    attr : {
        "siteName" : "西部云谷二期17",
        "PM10" : "10017",
        "PM2.5" : 17
    }
};
source = '<li>{{attr.siteName}}</li>' +
    '<li>{{attr.PM10}}</li>' +
    '<li>{{attr[\'PM2.5\']}}</li>';
render = template.compile(source);
html = render(data);

  OK! 代码正常运行了。模版正常解析了。

 JavaScript有两种访问属性的方式一种是通过.来访问,还有一种是用['属性名称']来访问。所以有特殊的字符的字段我们就可以用第二种方法来访问。

如果这篇文章对您有帮助,您可以打赏我

技术交流QQ群:15129679

猜你喜欢

转载自www.cnblogs.com/yeminglong/p/9552663.html
今日推荐