【问题标题】:routerLink does not generate the link correctlyrouterLink 未正确生成链接
【发布时间】:2017-04-28 19:51:39
【问题描述】:

这个带有 routerLink 属性的 html 按钮:

<button [routerLink]="['/projects', 'edit', project?.id]">E`enter code here`dit</button>

这个链接的结果:

  router-link="/projects,edit,1011"

从文档中看不到:https://angular.io/docs/ts/latest/api/router/index/RouterLink-directive.html

我做错了什么。

这个样本看起来和我的很像:

['/team', teamId, 'user', userName, {details: true}]

我做错了什么?

【问题讨论】:

  • 尝试将button 更改为a

标签: angular angular-routing


【解决方案1】:

您可以将代码与按钮单击相关联,然后然后使用以下方法进行路由:

onSaveComplete(message?: string): void {
    if (message) {
        this.messageService.addMessage(message);
    }
    this.reset();
    // Navigate back to the product list
    this.router.navigate(['/products']);
}

【讨论】:

    【解决方案2】:

    据我所知,routerLink 需要位于链接元素上。比如这样:

    <a class="btn btn-primary" 
      [routerLink]="['/productEdit', product.id]">
      Edit
    </a>
    

    【讨论】:

    • 好不好...我需要绑定禁用属性,然后我必须将
    • 所以你需要一个按钮来路由,然后还有代码在点击事件上运行?如果是,则在点击事件的关联方法中的代码中添加路由。
    • 没有额外的代码可以通过点击事件运行,但是禁用属性在
    【解决方案3】:

    RouterLink'的输入是一个字符串数组,所以在html中:

    <button [routerLink]="routerLink">My button</button>
    

    TS:

    routerLink = project.id ? ['/projects', 'edit', project.id] : ['/projects', 'edit']
    

    【讨论】:

      猜你喜欢
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多