当我将锚元素放置在像这样的2号角组件中时,
<a [routerLink]="['/LoggedIn/Profile']">Static Link</a>
一切正常。单击链接时,角度路由器会将我路由到目标组件。
现在,我想动态添加相同的链接。在我的应用程序中的某个地方,我有一个“通知组件”,其唯一职责是显示通知。
通知组件执行以下操作:
<div [innerHTML]="notification.content"></div>
其中notification.content是NotificationComponent类中的字符串变量,并且包含要显示的HTML。
notification.content变量可以包含类似
<div>Click on this <a [routerLink]="['/LoggedIn/Profile']">Dynamic Link</a> please</div>
一切正常,并显示在屏幕上,但是当我单击动态链接时,什么也没发生?!
有没有一种方法可以让有角度的路由器使用此动态添加的链接?
ps。我知道DynamicComponentLoader,但是我确实需要一个更不受限制的解决方案,在这里我可以使用各种不同的链接将各种HTML发送到通知组件。
routerLink
是指令。并非为使用添加的HTML创建指令和组件[innerHTML]
。Angular不会以任何方式处理此HTML。
推荐的方法是不使用[innerHTML]
,但 DynamicComponentLoader ,你的包裹中的HTML组件,并动态地添加它。 ViewContainerRef.createComponent
有关示例,请参见带有用户单击所选组件的Angular 2动态选项卡
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句