如何在ng-click时触发事件

时间:2014-08-06 11:50:08

标签: angularjs ng-bind-html ng-bind

我使用ng-click模板添加ng-bind-html的锚标记,但ng-click未触发...我需要一个触发该功能的解决方案。

我的模板

$scope.res =$scope.res+'<a href="javascript:void(o)" ng-click="fullfillmentCenter('+row.orderId+')"  title="Send to fullfilment" class="">Send to CA Fullfilment</a>';

我的绑定HTML

<div class="ngCellText" id="div_fullfilment_{{row.getProperty(\'orderId\')}}" ng-bind-html="fullfillment(row.entity)"></div>';

ng-function call

$scope.fullfillmentCenter = function(orderId){
alert(orderId);
};

1 个答案:

答案 0 :(得分:1)

您需要使用$compile服务编译您的html,以使任何AngularJS绑定生效。由于$ compile需要编译html元素,因此最好是创建一个指令。请参阅此SO帖子Compiling dynamic HTML strings from database

修复模板后可以使用的其他替代方法是使用ng-include并包含模板。使用ng-include编译会自动进行。

您可以将模板定义为

<script type='text\ng-template' id='content'>
   <a href="javascript:void(o)" ng-click="fullfillmentCenter(row.orderId)"  title="Send to fullfilment" class="">Send to CA Fullfilment</a>
</script>

然后在任何地方使用ng-include包含它 <div ng-include="content">