我使用以下指令将属性添加到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,也显示了它。
答案 0 :(得分:0)
我的问题已解决,问题的原因是指令依赖项中缺少$scope
module1.directive('rhVisibleFor', function ($rootScope,$compile) ...