传递数量不确定的可能嵌套的对象属性
Pass an undetermined number of object properties that may be nested
我正在尝试编写一个手把助手,在那里我可以传递一个需要解析的JSON字符串,然后获取任何特定的属性,而不知道可能有多少级别的嵌套,例如:
Handlebars.registerHelper 'parseJSON', (string, properties) ->
json = JSON.parse string
# how can I do: return json[oneProperty][andANestedProperty]
然后使用"responseBody"作为我的JSON字符串,不确定如何传入,但我的想法是:
{{parseJSON responseBody [oneProperty][andANestedProperty] }}
如果你想说这样的话:
{{parseJSON json 'p1' 'p2'}}
{{parseJSON json 'p1' 'p2' 'p3'}}
在你的模板中,你只需要让你的助手接受任意数量的参数。唯一棘手的是Handlebars properties
参数总是最后一个。使用CoffeeScript splat:实际上非常容易
Handlebars.registerHelper 'parseJSON', (json, path..., properties) ->
# path will be an array in here
这将在助手内部的path
数组中提供类似['p1', 'p2']
和['p1', 'p2', 'p3']
的内容。
相关文章:
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- 如何打印嵌套对象的所有值
- 设置嵌套对象属性的更好方法
- 嵌套对象结构
- 如何递归地获取嵌套对象中所有子对象的列表
- 更改嵌套对象的父子相关id
- 如何通过json对象数组为嵌套对象赋值
- Ember.js(2.5.0)如何设置嵌套对象值
- 嵌套对象文本访问父级
- 如何对两个嵌套对象进行排序
- 在javascript中使用方括号表示法的嵌套对象
- 具有嵌套对象数组的 Javascript 对象的递归搜索函数
- 更新嵌套对象的多个字段
- MongoDB嵌套对象数组后查询
- 在流星中插入嵌套对象
- 将嵌套对象数据添加到窗体中
- Chai深度包含了对嵌套对象的断言
- 使用Angular.js解析JSON中的嵌套对象数组
- 如何以编程方式添加到可变嵌套对象中
- Javascript嵌套对象访问根级别