0

我想知道为什么模板标签[[ opt.option ]]有时不会在以下代码中评估为值

<span ng-repeat="opt in options">
<button ng-click="button = [[ opt.option ]]" ng-class="{ active : button == [[ opt.option ]] } ng-cloak>
<i class="icon-tick visible-in-active" ></i>[[ opt.option ]] </button>
</span>

正在输出的按钮名称意味着用于命名按钮的模板标签正在工作,但是当我单击任何按钮时,没有一个处于活动状态,这意味着模板标签用于ng-click并且ng-class没有评估。为什么是这样?

编辑
我正在使用 django,所以我不得不用 [[]] 覆盖 {{}},因为 django 也使用这些标签 {{}}

我想实现这个。单击按钮时,它变为活动状态,而前一个活动按钮变为非活动状态。这就是让JsFiddle

4

2 回答 2

1

在 ng-click 和 ng-class 中,您不需要使用数据绑定运算符。你可以说:

<button ng-click="button = opt.option" ng-class="{ active : button == opt.option }">

此外,角度中的数据绑定运算符是 {{ }} 而不是 [[ ]]。

最后,你有一个错字并且没有关闭打开按钮标签(你错过了最后一个'>')

更新- 正如所指出的,绑定运算符可以自定义,因此这实际上不是问题。

更新- 这是一个示例 plunk:http ://plnkr.co/edit/t4hmRmJCI22bjqMe1Jc4?p=preview

于 2013-10-16T21:41:47.243 回答
0

您需要使用 {{ }} 而不是 [[ ]]

于 2013-10-16T21:39:41.347 回答