更改手机方向但范围变量不刷新

时间:2016-03-14 11:57:25

标签: ios angularjs cordova ionic-framework cordova-plugins

我正在使用cordova插件来处理方向。如果方向发生变化,我想更改为不同的视图。所以我尝试在$ scope中定义一个变量,并在UI上做相关的更改。这是我的代码

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

我从cordova插件定位主页中提到的这段代码片段。但是当方向改变时,UI没有任何变化。我甚至得到$ scope.orientation undefined(我通过ng-show测试)

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

1 个答案:

答案 0 :(得分:1)

使用$apply()

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

这让AngularJS框架知道发生了变化。