我试图让我的应用程序仅在横向模式下工作,我必须显示类似于&#34的文本;请使用横向模式"如果用户处于纵向模式且全部在AngularJS中。 我在jQuery中尝试了它并且它完全正常工作但我们没有使用jQuery,所以我必须使用AngularJS。
这是我的简单控制器:
app.controller('rootCtrl', ['$scope', '$http', function ($scope, $http) {
window.addEventListener("orientationchange", function() {
if(window.orientation == 0) {
// alert(window.orientation) : I get this value when rotate my device
$scope.islandscape = false;
}else {
// alert(window.orientation) : I get this value when rotate my device
$scope.islandscape = true;
}
}, false);
}]);
以下是我的看法:
<div id="p" ng-show="islandscape == false">
<h1 style="width: 90%; margin: 2em auto; font-size: 4em;">Please Use Landscape Mode</h1>
</div>
<div id="l" ng-show="islandscape == true">
<div ng-include="'templates/header.htm'"></div>
<div id="dataContent" ng-view></div>
<div ng-include="'templates/footer.htm'"></div>
</div>
以下是jQuery中的工作代码,但我不能使用jQuery
$(document).ready(function() {
readDeviceOrientation();
});
function readDeviceOrientation() {
if (Math.abs(window.orientation) === 90) {
$("#p").hide();
$("#l").show();
} else {
$("#l").hide();
$("#p").show();
}
}
window.onorientationchange = readDeviceOrientation;
我是AngularJS的新手,不知道我在这里错过了什么,或者我的逻辑可能不正确。我怎样才能使这个工作?