AngularJs模板标签有时无法评估

时间:2013-10-16 21:29:51

标签: javascript angularjs django-templates angularjs-directive

我想知道为什么模板标记[[ 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-clickng-class的模板标签没有评估。这是为什么?

修改
我使用django所以我不得不用[[]]覆盖{{}},因为django也使用这些标签{{}}

我希望在单击按钮时实现THIS.,它变为活动状态,之前的活动状态变为非活动状态。这就是我得到的JsFiddle

2 个答案:

答案 0 :(得分:1)

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

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

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

最后,你有一个拼写错误,并没有关闭开始按钮标签(你错过了最后一个'“&gt;')

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

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

答案 1 :(得分:0)

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