离子 ng-show 在浏览器中工作,但在 android/ios 上不工作

ionic ng-show working in browser but not on android/ios

我遇到了一个我无法解决的恼人问题,此代码在浏览器中运行良好,但在 android/ios 设备上运行不佳:

<ion-view style="" title="Dettaglio">
<ion-content class="has-header" padding="true">
    <div style="" class="list card">
        <div class="item item-divider" ng-show="conditions">{{conditions.nome}} {{conditions.cognome}}</div>
        <div class="item item-divider" ng-hide="conditions">Errore!!</div>
        <div class="item item-body">
            <div style="" ng-show="conditions">
                <p>
                   Residuo: {{conditions.residuo}}
                </p>
            </div>
            <div style="" ng-hide="conditions">
                <p>
                   Utente non registrato o codice fiscale errato
                </p>
            </div>
        </div>
    </div>
    <div style="display: inline-block; width: 300px; height: 17px;" class="spacer"></div>
    <div style="" class="list card" ng-show="conditions">
        <div class="item item-divider">Note</div>
        <div class="item item-body">
            <div style="">
                <p>
                    {{conditions.note}}
                </p>
            </div>
        </div>
    </div>
</ion-content>

在 Windows 浏览器中测试应用程序时,ng-hide/ng-show 按预期工作隐藏或显示 divs,但是一旦我在 android/ios 上获得应用程序无论如何都会显示每个 div 设备。 我是 angular/ionic 的新手,但我不明白为什么 ng-show 指令在浏览器中有效,但在设备上无效。

提前致谢

我遇到了类似的问题。

我通过检查 Safari DevTools 中 [ng-hide=""] 元素的计算样式(运行 针对 iOS 模拟器)来解决我的问题,发现 .ng-hide { display: none!important } 规则未被创建。

我的解决方法是将该规则添加到我自己的样式表中。

我的浏览器和 Android phone 都遇到了这个问题。这是由于最近 Cordova 的安全升级以及需要更好的 "Content-Security-Policy".

我通过在 index.html:

中添加这一行来修复它
<meta http-equiv="Content-Security-Policy" content="default-src...

我加入了:

'unsafe-inline' 'unsafe-eval'