今天,当我正在玩角度时,我发现了一些有趣的东西。我找不到这种互动的正确解释。任何想法都是受欢迎的。
案例1:
<div ng-show="boolean"> Show/Hide This </div>
<button ng-click="boolean = !boolean" />
一切都按照假设运作。按钮切换div。每次点击都隐藏或显示
案例2:
<div ng-show="boolean"> Show/Hide This </div>
<div ng-if="showButton">
<button ng-click="boolean = !boolean" />
</div>
在这种情况下,即使showButton为true,并且按钮可见,当我单击时,第一个div也不会改变状态。
案例2:
<div ng-show="boolean"> Show/Hide This </div>
<div ng-if="showButton">
<button ng-click="updateBoolean()" />
</div>
//在控制器中 $ scope.updateBoolean = function(){$ scope.boolean =!$ scope.boolean}
令人惊讶的是,当点击按钮时它会更新主要的div。
更新 好的,这么简短的答案供将来参考:与其他指令一样,ng-if指令会创建一个子范围。