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>