我正在使用cordova插件来处理方向。如果方向更改,我想更改为其他视图。因此,我尝试在$ scope中定义一个变量,并对UI进行相关更改。这是我的代码

window.addEventListener("orientationchange", function() {
    $scope.orientation = screen.orientation;
});


我从cordova插件定位首页引用的此代码段。但方向改变时,用户界面没有任何变化。我什至没有定义$ scope.orientation(我通过ng-show测试)

这怎么发生的?谢谢你的帮助。

最佳答案

使用$apply()

angular.element($window).on("orientationchange", function() {
    $scope.orientation = screen.orientation;
    $scope.$apply();
});


这使AngularJS框架知道发生了更改。

关于ios - 更改手机方向,但范围变量不刷新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35986921/

10-12 00:26