...뒤로 버튼을 깨지 않고 Angular의 html5Mode = true를 사용하여 페이지 새로 고침을 트리거하는 링크를 어떻게 섞으면됩니까?
- 나는로드 google.com 내가 고토 app.com
- 내가 에 탐색
- (단지 출발점으로) I는 NAV
- app.com/projects에 app.com/api/test
- I (에서는 window.location 통해) 원시 JSON을 참조하십시오 (좋은 지금까지 ...)
- 내가 다시 누르면, URL은 app.com/projects으로 바뀌지 만 여전히 JSON이 표시됩니다.
- 다시 누르면 URL이 app.com으로 변경되지만 여전히 JSON이 표시됩니다.
- 다시 입력하면 google.com가 다시로드됩니다.을 원하는대로
html5Mode = true
이 Webkit- 에서 파이어 폭스가 작동하는 경우에만 나는 앞으로 눌러 - , app.com 부하는 잘 ... 정상 이상한 무엇
다시 모든이며, 나는이 관찰했습니다 ..
. . .
첫째, 내 server.coffee은 다음과 같습니다
app.get '/partials/:partial', routes.partials
app.get '/api/test', api.test
app.get '*', routes.index
는 기본적으로 모든 요청이 인덱스를로드 뷰/부분 처리기에 대한 예외 및 테스트 API를 경로로 (이 부트 스트랩 각도) 원시 JSON으로 응답합니다.
. . .
, 내 app.coffee은 다음과 같습니다,
두 번째 (I 중첩 전망과 UI가 상태를 관리하기위한 ui-router 모듈을 사용하고이 각도의 $routeProvider
과 매우 유사하다, $urlRouterProvider
사용) :
app = angular.module('app', ['ui-router'])
.config([
'$stateProvider'
'$locationProvider'
'$urlRouterProvider'
($stateProvider, $locationProvider, $urlRouterProvider)->
$urlRouterProvider
.when('/api/test', [
'$window'
'$location'
($window, $location)->
$window.location.href = '/api/test'
])
.otherwise('/')
$stateProvider
.state 'home',
url: '/'
templateUrl: 'partials/index'
controller: 'IndexCtrl'
.state 'projects',
url: '/projects'
templateUrl: 'partials/projects'
controller: 'ProjectsCtrl'
$locationProvider.html5Mode(true).hashPrefix '!'
])
모든 것이 비동기이므로 window.location.href
에 액세스하여 서버가 경로를 처리 할 수 있도록 페이지 새로 고침을 트리거해야합니다.
제 질문은 뒤로 버튼을 깨지 않고 각도의 html5Mode
으로 페이지 새로 고침을 트리거하는 링크를 섞어도됩니까? 이것은 Webkit 버그 일 뿐이며, 더 좋은 방법이 있습니까?
이상적으로는 응용 프로그램을 Angular에서 실행해야하지만, "about"또는 "contact"페이지 (동적 또는 비동기 일 필요는 없음)와 같은 것들은 일반 페이지를 사용하여 서버에서 직접 제공됩니다 새로 고침 ...
Help!
지금 내가 대답을 가지고, 내가 중복 질문을 발견 http://stackoverflow.com/questions/11580004/angular-js-link-behaviour-disable-deep-linking-for-specific-urls – jlmakes