ng-repeat 变量没有被发送到控制器

ng-repeat variable not getting sent into controller

我有一个 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 看起来像:

现在我的控制器中的 openTagModal 函数:

// Open the edit account modal:
this.openTagModal = function(term) {
    console.log('term = '+term);
    $scope.main.modal_terms = true;
    $scope.main.modal = true;
};

^ 这里的术语应该 = "tablets" 但它是这样写的:

知道为什么会这样吗?我还没有使用 Directive,只是 ng-repeat div,可以吗?

尝试删除 ng-click 指令中的大括号,例如:

ng-click="ticker.openTagModal(term.term)"

ng-click 指令采用 angular 表达式。 HTML 中的 Angular 表达式通常包含在 {{}} 中以将它们定义为表达式,但是 ng-click 不需要它们,因为它已经假定采用表达式。