這是一個Angular使用$compile爲從Ajax加載的HTML綁定ng-click事件的實現方式,因爲近期忙碌,就先放代碼。代碼以下:javascript
<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>
js:html
var app = angular.module('my-app', [], function () { }) app.controller('AppController', function ($scope, $compile) { var $el = $('<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>').appendTo('#newTransaction'); $compile($el)($scope); $scope.create = function(){ console.log('clicked') } })
PS:若是有寫錯的地方,歡迎指出,謝謝。java