gpt4 book ai didi

javascript - 在 Handlebars / Ember 模板中定义数组?

转载 作者:行者123 更新时间:2023-11-29 15:40:14 25 4
gpt4 key购买 nike

我在 ember 应用程序中有一个 Handlebars 模板。它接受一个数组。我目前这样声明数组

模板:

  {{Gd-radio-input content=radioContent value="blue"}}

Javascript:

App.IndexController = Em.Controller.extend({
radioContent: [
{label: 'Red', value: 'red'},
{label: 'Blue', value: 'blue'},
{label: 'Green', value: 'green'},
{label: 'Yellow', value: 'yellow'},
]
});

出于我的目的,有时我想在模板中定义数组。

我试过了,但是 javascrip 讨厌我:

  {{Gd-radio-input content="[
{label: 'Red', value: 'red'},
{label: 'Blue', value: 'blue'},
{label: 'Green', value: 'green'},
{label: 'Yellow', value: 'yellow'},
]" value="blue"}}

错误:

Assertion failed: The value that #each loops over must be an Array. You passed [
{label: 'Red', value: 'red'},
{label: 'Blue', value: 'blue'},
{label: 'Green', value: 'green'},
{label: 'Yellow', value: 'yellow'},
]

Uncaught TypeError: Object [
{label: 'Red', value: 'red'},
{label: 'Blue', value: 'blue'},
{label: 'Green', value: 'green'},
{label: 'Yellow', value: 'yellow'},
] has no method 'addArrayObserver'

最佳答案

您可以使用 ember g helper arr 生成一个 helper,然后输入以下代码:

{{Gd-radio-input content=(arr
(hash label='Red' value='red')
(hash label='Blue' value='blue')
(hash label='Green' value='green')
(hash label='Yellow' value='yellow')
) value="blue"}}

说明:默认助手已经返回了一个参数数组。 hash 帮助程序生成对象。我认为 arr 助手应该已经在默认的模板助手中了,顺便说一句。

p.s.: 感谢@locks on slack channel

关于javascript - 在 Handlebars / Ember 模板中定义数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20327796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com