javascript - Handlebars 中的访问对象属性包含 '.'

标签 javascript jquery json handlebars.js

我正在从服务获取数据,其中的对象数组如下所示:-

    [{
        title : 'Tilte 1',
        s.no : 1
     },
     {
        title : 'Tilte 2',
        s.no : 2   
     }
    ]

我使用了 Handlebars 模板来解析这些数据,如下所示:-

{{#each this}}
   <div>
      <span>{{this.s.no}}</span>
      <h2>{{this.title}}</h2>
   </div>
{{/each}}

在上面我无法访问该属性('s.no')。在普通 JavaScript 中,我们可以像 this['s.no'] 一样访问它,但在 Handlebars 中它不起作用。

最佳答案

您需要对不是有效 Handlebars 标识符的属性使用特殊的 [] 表示法。 Demo .

{{#each this}}
   <div>
      <span>{{this.[s.no]}}</span>
      <h2>{{this.title}}</h2>
   </div>
{{/each}}

关于javascript - Handlebars 中的访问对象属性包含 '.',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43168925/

相关文章:

javascript - Internet Explorer 表示对象不支持此属性或方法

javascript - 如何在循环并进行异步 promise 调用后获取重新格式化的 json 对象

javascript - 为什么我的 javascript 参数给出 "It may be inaccessible due to a protection level."错误?

javascript - 如何使 HTML 元素仅在特定屏幕尺寸下可点击

javascript - 从复选框和选择中获取值的总和 - KnockoutJS

javascript - 设置 jQuery cookie 时出现问题

javascript - 使用 JavaScript 淡化文本颜色

javascript - Mongoose 如何在现有对象上插入元素(MongoDB 和 Node.js)

angularjs - 将表类型添加到 JSON 编辑器

java - 防止请求在 JSON 文件更新时从 json 文件中获取数据