angular - 如何让 componentFactoryResolver 使用 RouterLink 创建锚点?
问题描述
我想动态地将锚标记添加到我页面上的某个点。
到目前为止,我有这样的事情
const componentFactory = this.componentFactoryResolver.resolveComponentFactory(HTMLAnchorElement);
let cmpRef = this.container.createComponent(componentFactory);
cmpRef.instance.text = 'click here';
cmpRef.instance.routerlink = "/mylink"
但是, cmpRef.instance.routerLink 不存在,可能是因为 HTMLAnchorElement 是实际的 Html 锚标记,而不是具有 routerlink 输入的角度版本。
Angular 中 Angular 锚标记的组件名称是什么?
解决方案
锚标记没有 Angular 组件。
如果您想自己实现它,那么它可能是这样的:
@Component({
selector: 'router-link',
template: `<a [routerLink]="routerLink">{{text}}</a>`
})
export class RouterLinkComponent {
text: string;
routerLink: string;
}
现在你可以像这样使用它:
const componentFactory = this.componentFactoryResolver.resolveComponentFactory(RouterLinkComponent);
let cmpRef = this.container.createComponent(componentFactory);
cmpRef.instance.text = 'click here';
cmpRef.instance.routerLink = '/about';
推荐阅读
- html - 为什么我的代码在运行时显示?(姜戈)
- ubuntu - nvcc 致命:不支持的 gpu 架构“compute_86”
- image - 在 Dart 中翻转 Ui.Image
- python-3.x - 如何在循环中跳过空数据框并保存组合结果
- django - 基于相关字段的注释,带有过滤器
- javascript - 我可以在 express js 的控制器内使用路由吗?
- flutter - Flutter:保存正确答案的颜色以在应用关闭并再次重新打开时变得持久
- css - Grunt Livereload 仅重新加载样式
- angular - Angular:在运行时向 div 添加工具提示
- java - 为什么 `print(String)` 等到换行后再打印到控制台(Kotlin)?