사용자가 액세스하는 브라우저/플랫폼의 유형에 따라보기 (또는 라우팅을 사용하는 페이지)를 변경하는 내장형 서비스/지시문/경로가 있습니까? 휴대 전화와 태블릿이 데스크톱 사용자와 다른 시각을 가지기를 바랍니다.Angularjs - 브라우저/플랫폼을 기반으로보기를 변경 하시겠습니까?
8
A
답변
7
Angular에 내장 된 항목을 모르지만 라우팅 규칙에 논리를 삽입하면됩니다. 이 예에서
angular.module('browser-routing', []).
config(function($routeProvider) {
$routeProvider.
when('/', {templateUrl: getBrowser() + '.html'})
});
, getBrowser()가 'iphone'
를 반환하는 경우 그것은 당신이 BrowserDetect은 이름이 의미하는 일을하는 데 사용할 수있는보기 iphone.html
을 렌더링 예를 들면 다음과 같습니다.
2
, 그런 식으로 뭔가를 달성하는 방법에는 여러 방법이있다 밖으로의 상자 AngularJS와 그 작업을 수행하는 특정 기능을 가지고 있지 않지만 :
- CSS3 media queries to make a responsive design를 사용하여이. 필요에 따라 여러 개의 뷰포트에 대한 기능을 다시 구현하지 않아도되므로 최선의 방법이 될 수 있습니다.
myApp.factory('checkWidth', function ($location, $window) { return function() { if ($window.document.width < 700) { $location.url('/mobile'); } } });
당신은 확인하고 경로를 변경하는 서비스를 쓸 수 있습니다
관련 문제
- 1. AngularJS - 경로 변경 감지, 정지 및 취소
- 2. Angularjs - 지시어 또는 위젯으로 dom을 동적으로 변경 하시겠습니까?
- 3. int를 기반으로보기를 정의
- 4. 오라클은 다른보기를 기반으로보기를 만듭니다.
- 5. AngularJS - $ resource.query 메소드에서 사용되는 URL 변경
- 6. 다른 서버의 테이블을 기반으로보기를 만드는 방법은 무엇입니까?
- 7. angularjs Json restructure
- 8. AngularJS + PhoneGap
- 9. AngularJS withCredentials
- 10. 변수 간 AngularJS 바인딩
- 11. angularjs (ng-show)에서 변경 사항을 적용하는 방법은 무엇입니까?
- 12. 가변 값 변경을 관찰하는 Angularjs
- 13. AngularJS ng-bind와 ng-href를 함께 사용 하시겠습니까?
- 14. ng-repeat의 AngularJS 지시문
- 15. AngularJS 서비스 내의 JSDoc
- 16. AngularJS 생성자 또는 init?
- 17. AngularJS 함수를 서비스로 변환
- 18. AngularJS 프로젝트의 올바른 이름
- 19. AngularJS with BackboneJS 사용
- 20. AngularJS 반복 및 필터
- 21. 이벤트 바인딩 AngularJS Way?
- 22. Angularjs + OAuth + Play 2.0
- 23. 특정 객체에만 AngularJS 필터
- 24. Firebase 콜백 및 AngularJS
- 25. Angularjs - $ resource 사용자 정의
- 26. angularJS 검색 모델
- 27. angularjs 부트 스트랩 탭
- 28. 지시문에 클릭을 추가 AngularJS
- 29. AngularJS 및 Playframework 통합
- 30. AngularJS 리소스 : 업데이트 방법