我是小胡子的新手。有一个像
这样的对象object = [{
name: 'A',
fields: { type: "string" }
},
{
name: 'B',
fields: { type: "boolean", default: false }
}]
我将该对象传递给小胡子模板,我希望生成代码,同时显示默认值。
代码:
{{#object}}
var {{name}}: {{#fields}} {{type}} {{^default}} = {{default}} {{/default}}{{/fields}}
{{/object}}
但我无法从上面的代码中获得预期的输出。
预期输出:
var A: string
var B: boolean = false
答案 0 :(得分:0)
如果default
是字符串 "false"
,它(差不多)会工作。您目前已获得相当于:
default = false
if (!default) {
" = " + default
}
...但你需要:
default = "false"
if (default) {
" = " + default
}
所以这会为你做到:
object = [{
name: 'A',
fields: { type: "string" }
},
{
name: 'B',
fields: { type: "boolean", default: "false" }
}]
...并将{{^default}}
块更改为{{#default}}
:
{{#object}}
var {{name}}: {{#fields}} {{type}} {{#default}} = {{default}} {{/default}}{{/fields}}
{{/object}}
答案 1 :(得分:0)
这项工作对我来说:
object : [
{
name: 'A',
fields: { type: "string" }
},
{
name: 'B',
fields: { type: "boolean", default: "false"}
}
]
与
{{#object}}
var {{name}}: {{#fields}} {{type}} {{#default}} = {{default}} {{/default}}{{^default}}{{/default}}{{/fields}}
{{/object}}
如果false不能改为“false”并且你想要一个如上所示的结果,你可以尝试:
object : [
{
name: 'A',
fields: { type: "string", default: true}
},
{
name: 'B',
fields: { type: "boolean", default: false}
}
]
与
{{#object}}
var {{name}}: {{#fields}} {{type}} {{#default}}{{/default}}{{^default}}= false{{/default}}{{/fields}}
{{/object}}