【问题标题】:Angular 8 - Static linkAngular 8 - 静态链接
【发布时间】:2021-04-06 08:44:54
【问题描述】:

我有一个关于数据库的 HTML 小部件,它打印在我的页面中。在此 HTML 中,我需要提供指向我的 Angular 应用程序的特定路径的链接。

我试着说:

<div (click)="goThere('1234')" style="cursor:pointer"> goto</div>
<a href="/param/1234"  >goto</a>
<a [routerlink]="/param/1234">goto</a>

哪里有一个带有“导航”指令的页面中的功能。

上述解决方案均无效(仅 href 解决方案触发导航,但我丢失了参数)。我想是因为它的代码“出现”实时 e 不是由角度预先解析的。

我的路由配置:

 { path: ''                     ,  data: { breadcrumb: 'Home'} ,
  children: 
    [  
      {
        path      : '' , component : DashboardComponent , pathMatch: 'full'
      },
      {
        path      : 'param/:param' , component : DashboardComponent,
      }
    ] 
  },

在我的 DashboardComponent 我有:

 const param = +this._route.snapshot.paramMap.get('param');
    if (param > 0)
    {
       this.param = param;
    }

有没有办法触发角度路由器系统或使用我的参数转到仪表板组件?

【问题讨论】:

    标签: angular


    【解决方案1】:
    <a href="#/param/1234">goto</a>
    

    您需要保留您的基本网址,因此需要在网址前添加#

    【讨论】:

    • 不幸的是 routerlink 根本没有被触发。我认为这是因为它不是在“编译”期间知道的 HTML,而是在点击事件后实时附加的 HTML。
    • 无触发。我想任何“角度属性”都不会被解析,因为它只是实时打印的。
    • 去掉括号再试一次,如果可能的话,告诉我它是如何使用浏览器检查在 html 中呈现的
    • HTML 按原样打印。没有进行解析:&lt;div (click)="goThere('1100001')" style="cursor:pointer"&gt; test1 &lt;/div&gt; &lt;a href="/param/1100001" style="cursor:pointer"&gt;test2&lt;/a&gt;&lt;br&gt; &lt;a [routerlink]="['param']" [queryparams]="{ param: 1100001}" style="cursor:pointer"&gt;test3&lt;/a&gt;&lt;br&gt; &lt;a [href]="#/param/1100001"&gt;test4&lt;/a&gt; &lt;br&gt; &lt;a href="#/param/1100001"&gt;test5&lt;/a&gt;&lt;br&gt; 想象一下它是一个将一些 HTML 与 InnerHTML 放在一起的函数
    • 从 href 中删除括号
    猜你喜欢
    • 2010-12-31
    • 1970-01-01
    • 2018-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多