2015-07-22 33 views
0

我想改变一个元素的ng-show属性。 但似乎Angular忽略它。 为什么?可以通过在Angular中使用jQuert attr元素来设置ng-show吗?

element.attr('ng-show',false) 

我试着做范围$ apply,buy still angular忽略这个属性。

是否可以在运行时间之后更改ng-show属性?

+1

完全错误的方法....改变范围模型。如果你必须**做你正在做的事,你将需要使用'$ compile'。这似乎是一种趋势,你一直试图在DOM中自己做事,而不是使用它应该使用的方式 – charlietfl

回答

1

那么,因为它是explained here,所以在AngularJS的编译阶段之后,您插入到HTML中的任何其他指令都将无法访问。 那是因为,Angular横向整个DOM只有一次才能提高性能。

顺便说一句,你为什么这样做?相反,我会更喜欢来自控制器的属性直接监听你的html的特定元素。

1

应该为解析为布尔值的范围分配ng-show的值。将该布尔范围变量更改为true或false应该隐藏或显示该元素。

相关问题