Навигация по Angular Router

В моем проекте в первом компоненте есть поле ввода и кнопка.

    <div routerLink = "questions" (click) = "btnClicked(target.value)" class = "button">Click Me</div>  

В app.module.ts я настроил маршрутизатор, и он работает таким образом, но проблема в том, что в функции btnClicked() я проверяю если ввод пользователя действителен, и, таким образом, не имеет значения, действителен ли ввод или нет, программа перейдет к компоненту questions, поэтому я хотел бы выполнить эту маршрутизацию в машинописный файл сразу после проверки.

Какие-либо предложения? Спасибо, ребята, за ответ.

Это не очень хорошая практика. Вы можете перейти к другому маршруту с помощью метода btnclicked.

baj9032 11.07.2018 10:03
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
1
849
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

используйте navigateByUrl внутри функции щелчка кнопки.

btnClicked(value){

  if (// your condition){
    this.router.navigateByUrl('questions')

  }
}

освободить routerLink от div

<div  (click) = "btnClicked(target.value)" class = "button">Click Me</div>  
Ответ принят как подходящий

Снимите routerLink с кнопочного элемента. И добавьте Router в конструктор компонента.

component.ts

import { Router } from '@angular/router';

constructor(private router: Router) {}

public btnClicked(event: any): void {
  if (this.valid) {   // check the validation here
     this.router.navigate(['/questions']);
  }
}

component.html

 <div (click) = "btnClicked(target.value)" class = "button">Click Me</div>  

Другие вопросы по теме