为了账号安全,请及时绑定邮箱和手机立即绑定

把手/胡子 - 是否有内置的方式来循环对象的属性?

把手/胡子 - 是否有内置的方式来循环对象的属性?

慕田峪9158850 2019-08-15 17:20:17
把手/胡子 - 是否有内置的方式来循环对象的属性?正如问题的标题所说,是否有胡子/把手循环对象属性的方式?所以var o = {   bob : 'For sure',   roger: 'Unknown',   donkey: 'What an ass'}我可以在模板引擎中做一些相当于的事情for(var prop in o){     // with say, prop a variable in the template and value the property value}?
查看完整描述

3 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

自Handlebars 1.0rc1以来内置支持

Handlebars.js中添加了对此功能的支持,因此不再需要外部帮助程序。

如何使用它

对于数组:

{{#each myArray}}
    Index: {{@index}} Value = {{this}}{{/each}}

对象:

{{#each myObject}}
    Key: {{@key}} Value = {{this}}{{/each}}

请注意,只会hasOwnProperty枚举通过测试的属性。


查看完整回答
反对 回复 2019-08-15
?
holdtom

TA贡献1805条经验 获得超10个赞

它实际上很容易实现为帮助:

Handlebars.registerHelper('eachProperty', function(context, options) {
    var ret = "";
    for(var prop in context)
    {
        ret = ret + options.fn({property:prop,value:context[prop]});
    }
    return ret;});

然后像这样使用它:

{{#eachProperty object}}
    {{property}}: {{value}}<br/>{{/eachProperty }}


查看完整回答
反对 回复 2019-08-15
  • 3 回答
  • 0 关注
  • 395 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信