【发布时间】:2017-12-10 12:33:14
【问题描述】:
我有一个 Angular 2 组件,它通过一些用户操作从数据库加载 html。 html 包含具有相对路径的锚标记。鉴于我不希望在用户单击链接时重新加载整个应用程序,我正在尝试使用 routerLink 指令;但是,由于此 html 是动态加载的,因此不会处理 routerLink。 html 将不包含任何其他角度指令。实现这一目标的最简单方法是什么?请参阅下面的示例。
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: `<h1>Hello {{name}}</h1>
<p><a (click)="GetTextFromDatabase()">Get data from database</a> which should contain a <a routerLink="/some-route">working link</a></p>
<div [innerHTML]="data"></div>
<router-outlet></router-outlet>`,
})
export class AppComponent {
name: string = 'Angular';
data: string;
private GetTextFromDatabase(): void {
this.data = '<p>here is my paragraph containing a <a routerLink="/some-route">link</a>';
}
}
【问题讨论】:
-
为什么你不能用指令 *ngIf 显式放置锚点,当调用事件点击时将锚点设置为 true
-
问题是html是在运行时而不是设计时生成的,这意味着没有处理任何角度指令
标签: angular angular2-routing angular2-template angular2-directives