我正在使用cordova,AngularJS 1.5.3和Ionic 1.5.3编写应用程序。
我有一个页面,当用户点击按钮时,它会切换要渲染的组件。
以下是代码段:
<div class="list">
<weekly-roster ng-if="rvm.data.mode === 'week'"></weekly-roster>
<monthly-roster ng-if="rvm.data.mode === 'month'"></monthly-roster>
</div>
<button ng-click="rvm.toggleView()">Toggle</button>
这是我的codepen链接:https://codepen.io/aubz/pen/YazozL
在Android和Safari桌面上运行正常。它也适用于某些iPhone但不适用于iPhone 6.当用户按下切换按钮时,第二个组件将被渲染,然后翻转回原始组件。
我不知道会出现什么问题。
答案 0 :(得分:0)
而不是ng-if
尝试使用ng-show
。与ng-if
不同,ng-show
只是添加/删除CSS类以隐藏或显示元素。 ng-if
实际上插入或删除了一个DOM节点,这可以解释一些funkiness:
<div class="list">
<weekly-roster ng-show="rvm.data.mode === 'week'"></weekly-roster>
<monthly-roster ng-show="rvm.data.mode === 'month'"></monthly-roster>
</div>
<button ng-click="rvm.toggleView()">Toggle</button>