我有一个ng-repeat,它从JSON调用中获取数据并在页面上构建几个小部件。每个小部件都有一个表单按钮,用于获取生成所选小部件的数据对象的id和名称。
{{term.term}}
在HTML中编译为"tablets"
。
但是,在我的控制器中,它所读取的字词为{{term.term}}
而不是"tablets"
<div ng-repeat="term in terms"
class="col-md-6 col-lg-4 term-section">
<div class="term_tag">
<a href="" ng-click="ticker.openTagModal('{{term.term}}')">
<div class="tag">
{{term.term}}
</div>
</a>
</div>
Chrome检查器中的HTML如下所示:
现在我的Controller中的openTagModal函数:
// Open the edit account modal:
this.openTagModal = function(term) {
console.log('term = '+term);
$scope.main.modal_terms = true;
$scope.main.modal = true;
};
^这里的术语应该=“平板电脑”,但它会读取:
知道为什么会这样吗?我还没有使用Directive
,只是一个ng-repeat
div,可能就是这样吗?
答案 0 :(得分:1)
尝试删除ng-click
指令中的大括号,例如:
ng-click="ticker.openTagModal(term.term)"
ng-click
指令采用角度表达式。 HTML中的Angular表达式通常包含在{{}}
中,以将它们定义为表达式,但是ng-click
并不需要它们,因为它已经假定它采用表达式。