【发布时间】:2017-01-15 18:25:54
【问题描述】:
正如this plunker 中所见,我正在动态地将 HTML 添加到我的一个元素中,归结为:
@Component({
selector: 'my-comp',
template: `<span [innerHTML]="link"></span>`,
}) export class MyComponent {
private linkContent = '<a routerLink="/my-route">GoTo Route</a>';
private link;
constructor(sanitizer: DomSanitizer) {
this.link = sanitizer.bypassSecurityTrustHtml(linkContent);
}
}
这导致 <a routerLink="/my-route">GoTo Route</a> 被添加到 DOM 中,但 Angular 对这个元素上的 routerLink 指令一无所知,并且不会“绑定”到它。因此,当您单击链接时,它会导致通过重新引导完全重新加载(这在 plunk 中不起作用,它只会给出 404)。
问题:如何告诉 Angular 遍历 DOM(或其部分,甚至单个元素)并在需要时执行组件初始化?
【问题讨论】:
-
我不确定我是否理解你想在这里做什么,但是,通过你的 Plunker,我猜你的问题是
login链接不起作用,对吧?如果是这样,您为什么在本地化中使用routerLink而不是在模板中使用它? -
嘿.. 您如何解决从类型脚本类动态添加 routerlink 到锚标记的问题。?我努力创建动态组件但没有成功。请帮帮我。
-
@MeenakshiKumari 我最终没有走那条路,而是将我的代码重组为没有动态链接
-
其实我也是这样做的..谢谢..
标签: angular typescript angular2-routing angular2-directives