Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从html元素动态添加/删除指令_Javascript_Angularjs - Fatal编程技术网

Javascript 从html元素动态添加/删除指令

Javascript 从html元素动态添加/删除指令,javascript,angularjs,Javascript,Angularjs,如何在javascript中动态删除并向一个元素添加指令?如果在指令定义中存在:restrict:'A',为什么不能使用setAttribute()和removeAttribute()执行此操作?您可以在元素上预加ng if指令。考虑到该指令创建了一个新范围 <div your-directive ng-if="ctrl.displayDirective" > </div> 将新指令添加为属性 angular.module('app') .directive('pa

如何在javascript中动态删除并向一个元素添加指令?如果在指令定义中存在:restrict:'A',为什么不能使用setAttribute()和removeAttribute()执行此操作?

您可以在元素上预加ng if指令。考虑到该指令创建了一个新范围

<div your-directive ng-if="ctrl.displayDirective" > </div>

将新指令添加为属性

angular.module('app')
  .directive('parentDirective', function ($compile) {
    return {
      restrict: 'E',
      link: function link(scope,element, attrs) {
        element.attr('child-directive', 'value');
        $compile(element)(scope);
      }
    };
  });

阅读更多内容

能否显示一些代码?setAttribute/removeAttribute仅处理dom元素上的字符串属性。您正在尝试在angular之外操纵angular。我不知道有一种方法可以通知angular在framewrok之外所做的dom更改,但我不确定它是如何完成的。如果添加或删除属性,则需要使用$compiledirectives@entre,你能找到它的例子吗?