ng-show(或 ng-class)无法在 Safari iOs 上使用 ui-view for iPhone

ng-show (or ng-class) not working with ui-view on Safari iOs for iPhone

我在这上面花了很多时间,所以我想分享我遇到的问题以及我是如何解决的。

我正在使用 angularjs 1.7,在 iPhone.

上测试时遇到问题

我遇到的问题是我的网站内容没有显示,我不明白为什么。

这是问题所在的两行代码:

    <spinner ng-show="$ctrl.courseContentSpinner.show"></spinner>
    <div ng-show="!$ctrl.courseContentSpinner.show" id="content" class="content" ui-view>
    </div>

仅显示加载微调器或网站内容的逻辑。 有时(不是所有时候,它看起来有点随机),微调器和内容都不会显示,在那种情况下我可以看到 $ctrl.courseContentSpinner.show 的值是 "false".

为什么没有显示内容?

注意:标题中有 ng-class 因为如果我使用 ng-class 添加隐藏组件的 css class 会发生完全相同的问题

我不明白为什么它没有显示,但我可以分享使它起作用的解决方法,我只是将代码更改为如下所示:

    <spinner name="$ctrl.courseContentSpinner.show"></spinner>
    <div ng-show="!$ctrl.courseContentSpinner.show" id="content" class="content">
        <div ui-view></div>
    </div>

而且在这次更改之后我再也没有设法重现这个错误。如果有人对此有真正的解释,我会很高兴听到。