在指令中动态添加ng-if属性
Add ng-if attribute dynamically in directive
我使用以下指令为HTML元素添加属性:
module1.directive('rhVisibleFor', function ($rootScope) {
return{
priority: 10000,
restrict: 'A',
compile: function (el, attr) {
el.removeAttr('rh-visible-for');
el.attr('ng-if', '$layoutPreferences.visibilities['''+attr.rhVisibleFor+''']');
// el.attr('ng-if', 'false');
var fn = $compile(el);
return function(scope){
fn(scope);
};
}
}
})
编译执行成功,但是生成的代码对更改没有响应。即使我显式地将ng-if属性设置为false,它也会显示。
我的问题解决了,问题的原因是缺乏$scope
的指令依赖
module1.directive('rhVisibleFor', function ($rootScope,$compile) ...
相关文章:
- 通过jQuery添加ng样式属性,angular不更新
- 我需要NG-IF/NG-SWITCH还是NG-SHOW&NG-HIDE
- 将输入值设置为ng模型属性[Angular]时出现问题
- 如何应用带过滤器的ng if来过滤记录,并在同一页面中显示两个不同的视图
- 在 ng-if 编译后访问指令中的 DOM 元素
- 通过ng-if设置隐藏文本框的值
- AngularJS ng-if指令在移除元素之前,即使条件为false,也会短暂呈现
- 使用 ng-if 时 ng 类的标记行为
- 为什么我的html节点保持类ng隐藏属性ng show=true
- 为什么更改范围获胜'不能在ng if内部工作,而是通过函数调用AngularJS
- Angular2 ng if有什么问题
- 为什么myForm$提交的不适用于ng消息,但适用于ng if
- ng if不验证函数
- 将默认选项添加到ng-if
- 通过使用ng if更新ng repeat加载程序
- ng-if 连续执行方法
- 从指令中向元素添加ng-if属性
- ng-if :隐藏/显示属性.怎么做
- 在指令中动态添加ng-if属性
- 从根节点ng-if访问AngularJs控制器属性