2014-09-10 8 views
2

Я пытаюсь использовать ссылки HTML5 push state с моим угловым приложением. Что у меня есть ряд маршрутов, подобное следующемуУгловые - Маршрутизаторы UI-маршрутизаторов - Режим HTML5

$stateProvider.state('product', { 
    url: '/product/:productCode', 
    templateUrl: 'product/product.html', 
    controller: 'ProductCtrl' 
    } 
}); 

Это работает, когда я перейти к [HOST]/#/продукта/ABC123 - Он отображает URL в браузере, как/продукта/ABC123, то при Я перехожу к другим маршрутам (используя ui-sref), все работает так, как ожидалось.

Однако - мне бы хотелось как обновить браузер, так и остаться в том же состоянии, а также скопировать и вставить эту ссылку и перейти в правильное состояние.

например. Если я добрался до [host]/product/ABC123 - хочу отобразить содержимое с маршрута #/product/ABC123. В настоящее время это не даст мне.

Я использую nginx в качестве моего сервера приложений. Я считаю, что мне придется добавить что-то, чтобы справиться с этим уровнем, но я не уверен, с чего начать.

ответ

3

Проблема заключается в том, что ваш сервер не знает, как ответить на /product/ABC123.

В настоящее время я использую node.js для моего backend с угловым, и для этого я возвращаю угловое приложение для всех маршрутов, а не только обычного корневого маршрута, например.

Таким образом, вы могли бы использовать что-то подобное в прошлом:

app.get('/', ...);

Что бы вернул угловое приложение только для корневого маршрута. Теперь я использую что-то вроде:

app.get('*', ...);

который будет возвращать угловое приложение для всех маршрутов.


Я должен был упомянуть, что это может действовать как улов, помещенный после других маршрутов, например, для статических файлов. Другой альтернативой является, чтобы пометить все маршруты, которые вы хотите специально для углового приложения, например:

app.get('/', ...); app.get('/product/:productId', ...); etc

+0

Не будет ли это вызвать проблемы, если у меня есть несколько маршрутов, которые не идут в Угловое? (например, у меня есть некоторые обратные прокси-маршруты для различных служб, а также статические .css-файлы и т. д.). – Ren

+0

обновлен для вас. –

+0

Получил! Большое спасибо. – Ren

Смежные вопросы