为了账号安全,请及时绑定邮箱和手机立即绑定

在AngularJS中添加指令

在AngularJS中添加指令

交互式爱情 2019-07-03 14:04:39
在AngularJS中添加指令我正试图构建一个指令来处理添加更多指令对其声明的元素。例如,我想构建一个指令,负责添加datepicker, datepicker-language和ng-required="true".如果我试图添加这些属性,然后使用$compile显然,我生成了一个无限循环,因此我正在检查是否已经添加了所需的属性:angular.module('app')   .directive('superDirective', function ($compile, $injector) {     return {       restrict: 'A',       replace: true,       link: function compile(scope, element, attrs) {         if (element.attr('datepicker')) { // check           return;         }         element.attr('datepicker', 'someValue');         element.attr('datepicker-language', 'en');         // some more         $compile(element)(scope);       }     };   });当然,如果我不$compile元素,属性将被设置,但指令不会被引导。这个方法是正确的还是我做错了?有没有更好的方法来实现同样的行为?乌普特*鉴于以下事实:$compile实现这一目标的唯一方法是,是否有一种方法可以跳过第一次编译传递(元素可能包含几个子元素)?也许通过设置terminal:true?更新2:我试着把这个指令变成select元素,如预期的那样,编译运行两次,这意味着预期的数量是预期的两倍。optionS.
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 427 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信