2015-02-10 51 views
-2

我有一个NG-如果格如下:为什么子元素不显示在ng-if div里面?

<div ng-if="colorSelected" ng-cloak> 
    <h6>My Color</h6> 
</div> 

colorSelected时为真,内报头元件从未显示出来。难道我做错了什么?

+0

*“我做错了什么?”*可能是因为它不起作用。模板看起来很好。 – 2015-02-10 16:49:07

+0

你确认100%colorSelected是否为真?在这样的情况下,colorSelected没有得到您期望的价值。试着对ng进行硬编码 - 如果是“真”,看看会发生什么。此外,尝试将colorSelected输出到控制台,以便您可以看到实际值。 – 2015-02-10 16:50:14

+0

这似乎很清楚,'colorSelected'不正确。 – 2015-02-10 16:51:40

回答

1

使用NG秀,而不是NG-IF的。

ng-if创建它自己的作用域,因此您在ng-if中使用的任何作用域变量都将与不同的作用域相关。例如...

<div ng-if='selectedColors'> 
    {{iAmDefinedInAController}} 
</div> 

变量“iAmDefinedInAController”将是空的,即使它是在控制器定义的,因为在NG-如果内创建了一个新的范围。

ng-show不会这样做,所以只要使用它,你就会很好。

0

它应该是字。

可能你的模态'colorSelected'没有绑定。

使用 “NG-IF = true”,并看看是否可行