0

我正在尝试编写一个车把助手,我可以在其中传递需要解析的 JSON 字符串,然后获取任何特定属性,不知道可能有多少嵌套级别,例如:

Handlebars.registerHelper 'parseJSON', (string, properties) ->
    json = JSON.parse string
    # how can I do: return json[oneProperty][andANestedProperty]

然后用'responseBody'作为我的JSON字符串,不知道如何传递它,但我的想法是:

{{parseJSON responseBody [oneProperty][andANestedProperty] }}
4

1 回答 1

0

如果你想能够说这样的话:

{{parseJSON json 'p1' 'p2'}}
{{parseJSON json 'p1' 'p2' 'p3'}}

在您的模板中,您只需要让您的助手接受任意数量的参数。唯一棘手的是 Handlebarsproperties参数始终是最后一个。这实际上很容易使用CoffeeScript splat

Handlebars.registerHelper 'parseJSON', (json, path..., properties) ->
    # path will be an array in here

这会给你的东西['p1', 'p2']和你的助手里面['p1', 'p2', 'p3']的数组一样。path

于 2015-03-25T21:16:02.700 回答