天天看點

angular自定義指令使用$compile動态生成html

标簽:

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>
           

轉載自: AngularJS $compile動态生成html