猿问

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

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

正如问题的标题所说,是否有胡子/把手循环对象属性的方式?

所以

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}


慕田峪9158850
浏览 396回答 3
3回答

UYOU

自Handlebars 1.0rc1以来内置支持Handlebars.js中添加了对此功能的支持,因此不再需要外部帮助程序。如何使用它对于数组:{{#each myArray}}     Index: {{@index}} Value = {{this}}{{/each}}对象:{{#each myObject}}     Key: {{@key}} Value = {{this}}{{/each}}请注意,只会hasOwnProperty枚举通过测试的属性。

holdtom

它实际上很容易实现为帮助:Handlebars.registerHelper('eachProperty',&nbsp;function(context,&nbsp;options)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;ret&nbsp;=&nbsp;""; &nbsp;&nbsp;&nbsp;&nbsp;for(var&nbsp;prop&nbsp;in&nbsp;context) &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret&nbsp;=&nbsp;ret&nbsp;+&nbsp;options.fn({property:prop,value:context[prop]}); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;ret;});然后像这样使用它:{{#eachProperty&nbsp;object}} &nbsp;&nbsp;&nbsp;&nbsp;{{property}}:&nbsp;{{value}}<br/>{{/eachProperty&nbsp;}}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答