ng-show在ng-if部分

时间:2016-02-29 14:12:00

标签: angularjs

ng-show无法使用以下代码

<button ng-click="itemIndex=0;showHome=true;" class="btn btn-link">Home</button>

<div ng-if="itemIndex==0">
    <div ng-show="showHome">{{showHome}}
        <h3>Home Section</h3>
        <img ng-click="showHomeItems=showHomeItems?false:true;showHome=false;" ng-src="images/home.png"/>
    </div>
    <div ng-show="showHomeItems">
        Home Items{{showHome}}
    </div>
</div>

没有ng-如果它工作正常但是使用ng - 如果它不起作用。

2 个答案:

答案 0 :(得分:1)

阅读此article

Angular中有一些指令可以创建子范围,例如ng-repeatng-if

在这些范围内,布尔值(例如showHome)仅在该新范围内搜索,而不在父范围内搜索。

为了避免这样的错误,最好将逻辑放在一个对象内的控制器(或服务,而不是HTML)中,这不是一个原始变量,并且会在范围原型中查找链

答案 1 :(得分:0)

尝试声明一个这样的变量:

$scope.switch = {showHome : true}

然后在html中使用它:

<div ng-show = "switch.showHome" >