移动Safari - AngularJS ng-if在iOS上翻转

时间:2018-03-09 12:10:24

标签: ios angularjs iphone safari

我正在使用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.当用户按下切换按钮时,第二个组件将被渲染,然后翻转回原始组件。

我不知道会出现什么问题。

1 个答案:

答案 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>