2015-01-12 6 views
0

각도 응용 프로그램에서 작업 중이며 matchmedia로 방향 변경을 구현하려고합니다. 처음으로 내 페이지를로드 할 때 컨트롤러에 코드를 실행하여 가로 모드인지 여부를 확인합니다.각도 : 방향 변경이 제대로 작동하지 않습니다.

$scope.landscape = matchmedia.isLandscape(); 

이 코드는 정상적으로 작동합니다. 나는 방향으로의 변화를 감지 할 때 나는이 코드를 사용하여 방향을 다시로드 도착 페이지를 변경하고 다시 방향을 감지합니다

angular.element($window).bind('orientationchange', function() { 
    $route.reload(); 
}); 

그래서 때. 그러나 이제는 그 반대를 되돌려줍니다. 그래서 그것은 사실 일 때 landscape == false라고 말합니다. 아무도 이것이 왜 있는지 아는 사람이 있습니까? 아니면 오리엔테이션 변경을 처리하는 데 잘못된 기술을 사용하고 있습니까? 미리 감사드립니다!

답변

0

보십시오 :

screen.bind('orientationchange', function() { 
    $route.reload(); 
}); 
+0

나는 화면을 주입해야 아니면이 무엇을해야합니까? 내가 이런 식으로 사용할 때 컨트롤러가 더 이상 작동하지 않는다 .. 내가 주입하지 않으면 내가 unexisting의 오류가 발생하고 주입 할 때 인젝터 오류가 발생한다. –

0

당신은 시도 할 수 있습니다 : 브라우저에서

angular.element($window).bind('resize orientationchange', function (e) { 
    console.log('resize or orientationchange: ' + e.type); 
    $route.reload(); 
}); 

이 시뮬레이터 내가 얻을 "조정"할 때 방향 변경. 그러나 장치에서 나는 오리엔테이션 변경을 얻습니다.

다음은 온라인에서 찾은 예입니다. 그것은 바탕 화면의 크롬에서 작동하지 않습니다하지만 장치의 크롬에서 일하고있어 :

http://codepen.io/xAlien95/pen/EaNVNW