angular.module('app') .directive('compile', function ($compile) { return function (scope, element, attrs) { scope.$watch( function (scope) { return scope.$eval(attrs.compile); }, function (value) { element.html(value); $compile(element.contents())(scope); } ); }; });
<div ng-app="app" ng-controller="SampleCtrl" class="container">
<div ng-repeat="item in items">
{{item.name}}<br />
<div compile="item.tempatle"></div>
</div>
</div>
<script> angular .module('app') .controller('SampleCtrl', function ($scope, $filter) { $scope.open = function () { alert("ddd"); } $scope.items = [ { "name": "zhangsan", tempatle: '<i class="searchicon fa fa-search" ng-click="open()" style="color:#5db2ff;cursor:pointer;">点击</i>' }, { "name": "lisi", tempatle: '<i class="searchicon fa fa-search" ng-click="open()" style="color:#5db2ff;cursor:pointer;">点击</i>' }, { "name": "wangwu", tempatle: '<i class="searchicon fa fa-search" ng-click="open()" style="color:#5db2ff;cursor:pointer;">点击</i>' }] }); </script>