Javascript 角度JS防止控制器在隐藏元素上运行

Javascript 角度JS防止控制器在隐藏元素上运行,javascript,angularjs,angular-controller,Javascript,Angularjs,Angular Controller,我有这个密码 .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"> <

我有这个密码

.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>
.state('fooState'{
url:“/foo”,
templateUrl:'path/to/bar.html',
控制器:'parentController'
})
//这是bar.html

显示控制器
child1Controller
的第一个
div
时,控制器
child2Controller
也将运行,这是否正常?如果控制器通过
ng show=“false”
隐藏,如何防止控制器运行?当第一个
div
可见时,我只需要运行
parentController
child1Controller
控制器。与第二个div可见时相同,
parentController
child1Controller
控制器应该只有一个在运行。

如果我没有弄错,使用
ng If
而不是
ng show
可以解决您的问题。不同之处在于
ng如果
的计算结果为false时,元素不会呈现给DOM。

您也可以使用嵌套状态/视图来执行此操作…因此会有另一个
?您好,谢谢,那么我该如何准确地执行逻辑?如果
,ng的值是多少?它的使用方式与您使用ng show的方式相同,因此只需将它们换掉,值保持不变