1

我有这个代码

.state('fooState', {
    url: '/foo',
    templateUrl: 'path/to/bar.html',
    controller:'parentController'
})

// THIS IS THE bar.html
<div class="sample">
    <div ng-show="bazinga" ng-controller="child1Controller">
        <!-- cool stuff -->
    </div>
    <div ng-show="!bazinga" ng-controller="child2Controller">
        <!-- cool stuff -->
    </div>
</div>

显示第一个div带有控制器时child1Controller,控制器child2Controller也会运行是否正常?如果通过隐藏控制器,如何防止控制器运行ng-show="false"?我只需要parentControllerchild1Controller控制器在第一个div可见时运行。与第二个 div 可见时相同,parentController并且child1Controller控制器应该只有一个正在运行。

4

1 回答 1

2

如果我没记错的话,使用ng-if而不是ng-show应该解决您的问题。不同之处在于ng-if当它评估为 false 时不会将元素呈现给 DOM。

于 2016-01-15T20:11:46.900 回答