在 Sightly 中重复

Ng-repeat in Sightly

我正在尝试在 Sightly 中使用 ng-repeat 填充下拉值。 AEM 节点将我的数据保存为字符串数组,我能够正确获取它,但无法填充它们,因为它会抛出“? undefined:undefined ?”错误。

我的代码:

<select name="${validation.elementName}" id="${validation.elementName}" ng-model="${validation.elementName}" ng-change="${properties.clickfunction}">
        <option ng-repeat="opt in ${properties.options}" value={{opt}}>opt</option>                 
        </select>

输出:

:

有什么我遗漏的吗?因为 Sightly 对我来说是全新的。如果您能帮助改进此代码或指出我的错误,我将不胜感激。

首先,您需要将传递给 value 的数据用引号引起来,因此它应该是这样的:

value="{{opt}}" 

其次,您似乎在传递没有单引号的值,并且它们没有被识别为字符串。看看这个笨蛋:

http://plnkr.co/edit/A2gZJbvVV9ozHloLkF4B?p=preview

您可以看到第一个 ng-repeat 按预期工作,但第二个在控制台中抛出错误并且不显示任何内容。基本上,您只需要在数组中的每个字符串周围加上引号。

感谢@Victor 的回复。

请找到我的以下发现。

  1. value="{{opt}}" 是我将代码粘贴到 Whosebug 时的错误。
  2. ${properties.options} returns 字符串数组。
  3. ng-repeat 似乎根据此输出正确解析。