【发布时间】:2013-10-16 13:45:01
【问题描述】:
HTML
<table data-ng-table="tableParams" class="table table-bordered table-hover " style="border-collapse:collapse" data-ng-init="host.editSave = false" >
<tr id="newTransaction">
</tr>
<tr data-ng-repeat="host in hosts|filter:search:strict" >
<td class="hostTableCols" data-ng-hide="host.editSave">{{host.hostCd}}</td>
<td class="hostTableCols" data-ng-hide="host.editSave">{{host.hostName}}</td>
</tr>
</table>
jQuery
$('#newTransaction').append(
'<td contenteditable><input type="text" class="editBox" value=""/></td>'+
'<td contenteditable><input type="text" class="editBox" value=""/></td>'+
'<td>'+
'<span>'+
'<button id="createHost" class="btn btn-mini btn-success" data-ng-click="create()"><b>Create</b></button>'+
'</span>'+
'</td>'
);
角度脚本
$scope.create = function() {
alert("Hi");
};
这里在 AngularJS 的控制器部分中调用的函数没有从 ng-click 事件中获得触发。 Html 已成功附加,但 ng-click 不起作用。告诉我解决方案以使其发挥作用
【问题讨论】:
-
您需要编译新的 dom 元素才能使 angularjs 工作...您是否在可以访问范围的指令/控制器中进行此操作
-
@ArunPJohny:我正在从控制器调用该函数。但是我应该把编译功能放在哪里?在指令中??
-
我不知道确切的场景,但你可以使用
ng-include和模板来做类似的事情。