У меня есть требование ниже в angular-5, где у меня есть ссылка на тег навигации / привязки, а в событии щелчка тега привязки я вызываю функцию "gotoApp1 ()", которая выполняет программную отправку HTML-формы для открытия приложения / веб-сайта в новой вкладке.с тем же пользовательским сеансом ("keyField" в коде обрабатывается здесь сеансом).
HTML код:
<div>
...
...
...
...
<div>
<form id="app1" method="post" stype.display="none" target="_blank">
<input id="key" name="key" type="hidden" [(ngModel)]="keyField">
<input id="timeOut" name='timeOut' type="hidden" [(ngModel)]="timeOutField">
</form>
</div>
<div>
<nav>
<a class="item selected" href="#"><img class="icon" src="images/work.svg"><span>Container</span></a>
<a class="nav-item" href="#" (click)="gotoApp1()"><img class="icon" src="images/app1.svg"><span>App-1</span></a>
<a class="nav-item" href="#" (click)="gotoApp2()"><img class="icon" src="images/app2.svg"><span>App-2</span></a>
</nav>
</div>
</div>
Код за файлом, т.е. файл машинописи (.ts):
export class MajorComponent implements OnInit {
private keyField:string;
private timeoutInterval = 2000; // seconds
ngOnInit() {
// here making another service call to load some app data, this service calls is not related to our problem/requirement
}
gotoApp1() {
this._service.getApp1Key().subscribe(key => {
const myform = document.getElementById('app1') as HTMLFormElement;
myform.action = key.app1Link;
this.keyField = key.accessKey;
this.timeOutField = this.timeoutInterval.toString(); // time out in seconds
myform.submit();
});
}
gotoApp2() {
...
...
...
}
}
Проблемы:
- Когда я нажимаю на тег / ссылку привязки "App-1", он просто обновляет страницу
в первый раз, и если я нажимаю снова иливо второй раз он открывает новое приложение в новой вкладке. - Я думаю, что angular требует времени для загрузки значения тега "input" или что-то не так.
Любое тело сталкивалось с этимСитуация и как это исправить?
Примечание: Итак, требование здесь, новая вкладка должна быть открыта, когда я впервые нажимаю на ссылку «Приложение-1».Также не найдено журналов на консоли.