小编Ala*_*lan的帖子

动态更改Angular指令元素属性

我正在尝试创建一个自定义指令,它扩展了现有元素的功能.我想检测是否存在某个属性,如果不存在则添加它(例如ng-class).

我试图在预编译期间实现这一点,但angular不会对添加新属性做出反应.

我使用ng-hide 创建了一个带有简单示例的plunker.

<input hide type="submit" value="Submit"/>


    app.directive('hide', function() {
      return {
        restrict: 'A',
        compile: function(){
             return {
                 pre: function(scope, element, attributes, controller, transcludeFn){
                   attributes.$set("ng-hide", true);
                 },
                 post: function(scope, element, attributes, controller, transcludeFn){

                 }
             }
         },
      };
    });

如果我在html中添加ng-hide ="true",则会正确隐藏提交按钮.如果我把它留给指令然后我可以看到DOM正确设置了元素但是元素没有被隐藏:

<input hide="" type="submit" value="Submit" ng-hide="true">

任何帮助赞赏!

angularjs angularjs-directive

11
推荐指数
1
解决办法
2万
查看次数

标签 统计

angularjs ×1

angularjs-directive ×1