2016-06-16 1 views
3

У меня есть угловой проект 2. Я хочу открыть статические файлы справки, доступные на сервере в новом окне. Я попробовал window.open(help/index.html). Он перемещается на страницу, но выдает ошибку о том, что маршрут не найден. Я также попытался запустить над кодом вне угловой зоны, но не имеет значения. Я подозреваю, что изменения местоположения браузера угловые обнаруживают его в следующем цикле обнаружения изменений и пытаются маршрутизировать этот URL. Что можно сделать для этого.Угловой 2 открытие статической страницы

+0

Вы пытаетесь перейти от вашего приложения? –

+0

Не совсем. Я открываю содержимое справки в отдельной вкладке/окне. –

ответ

3

Вы можете попробовать и использовать параметр name метода window.open(), который является эквивалентом атрибута target в якорных тегах.

window.open("help/index.html", "_blank"); 

работает Plunker пример

+0

Спасибо. Я пробовал это раньше, и он также переходит на новую страницу без этого аргумента, но если вы посмотрите в средствах dev, вы увидите много ошибок, исходящих от маршрутизатора. Я не уверен, что plunkr будет подавлять эту ошибку, поэтому попробуйте загрузить plunkr. Я дам ему еще один выстрел и дам вам знать. –

+1

Спасибо, что сработали. Улов был, я просто указывал window.open («help», «_blank»); и предполагая, что он будет автоматически перенаправляться на индексную страницу, но угловой обрабатывал ее как изменение маршрута, а не статическую навигацию по страницам, которая вынуждала всю эту ошибку, –

+0

, если я попытаюсь открыть из модуля приложения ngOnInit(), он переходит в бесконечный цикл – ishandutta2007

1

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

setTimeout(() => { 
    window.open("./README.md", "_blank"); 
}); 

Working Plunker

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