Angular JS使用ng-repeat和ng-click与外部函数

时间:2014-11-12 10:12:31

标签: angularjs

我有一个角度页面,涉及使用ng-repeat指令创建表格。我想让表格的每一行都可以点击,事件必须触发数据集中提供的功能。

这是我的表格行

<tr ng-repeat="i in data_list"  ng-click="{{ i.row_onclick }}">
    <td>
        <input type="hidden" value="{{ i.thingID }}" />
        {{ i.date | date : 'dd/MM/yyyy' }}
    </td>
</tr>

i.row_click属性是一个完整的函数调用,格式为

ShowFrame('View', 'RGF0ZVJhbmdlVHlwZT1jdXN0b20jI1N0YXJ0RGF0ZT0xMS8xLzI')

并且每行都有所不同。

ShowFrame不是$scope属性,而是外部函数。

我尝试将ng-click替换为onclick,导致错误i is not defined

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

ng-click 您不需要双括号

更改

ng-click="{{ i.row_onclick }}"

ng-click="i.row_onclick()"

并在控制器中确保键入

$scope.i.row_onclick = function () {   
    // your handler 
}

答案 1 :(得分:0)

ngClick使用表达式评估语法,即ng-click="i.row_onclick()"