加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 以编程方式角度插入指令

发布时间:2020-12-17 07:54:40 所属栏目:安全 来源:网络整理
导读:所以我基本上希望能够触发一个事件然后有一个指令编译并将其自身插入到DOM中的一个位置. 目前我有这样的事情 //controller angular.module('app').controller('MainCtrl',function ($scope,$compile) { $scope.$on('insertItem',function(ev,attrs){ var el
所以我基本上希望能够触发一个事件然后有一个指令编译并将其自身插入到DOM中的一个位置.
目前我有这样的事情
//controller
  angular.module('app').controller('MainCtrl',function ($scope,$compile) {

    $scope.$on('insertItem',function(ev,attrs){
      var el = $compile( "<chart></chart>" )( $scope );
      $scope.insertHere = el;
    });

  });


// directive
 angular.module('app')
  .directive('chart',function () {
    return {
      template: '<div>My chart</div>',restrict: 'E',link: function postLink(scope,element,attrs) {
        element.text('this is a chart');
      }
    };
  });

我能够看到所有我需要的对象“el”,但我无法将其插入DOM …
任何线索?

您必须首先创建dom元素,然后编译它并将其添加到文档中.像这样的东西:
$scope.$on('insertItem',attrs){
  var chart = angular.element(document.createElement('chart'));
  var el = $compile( chart )( $scope );

  //where do you want to place the new element?
  angular.element(document.body).append(chart);

  $scope.insertHere = el;
};

我在这里创建了一个简单的例子:http://plnkr.co/edit/n7SZpyeQ9nbjVSYA7ibB?p=preview

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读