Angular routerLink指令的href属性生成逻辑

简介: Angular routerLink指令的href属性生成逻辑

一个例子:


image.png


运行时,触发change detection,调用refreshView方法:


image.png

RouterLinkWithHref这个class实现了ngOnChanges hook方法:


image.png


在updateTargetUrlAndHref方法里,生成href:


image.png


this.commands就是我们传入到routerLink Directive里的输入:


image.png


createUrlTree:


image.png


将JavaScript对象this.urlTree, 序列化成字符串url:

image.png




image.png

相关文章
|
2月前
|
JavaScript 前端开发 编译器
Angular 中的结构指令运行时的工作原理
Angular 中的结构指令运行时的工作原理
|
2月前
|
编译器 API 开发者
Angular Component ɵcmp 属性的含义和使用场合介绍
Angular Component ɵcmp 属性的含义和使用场合介绍
|
2月前
|
API 开发者
Angular Component class ɵfac 的属性介绍
Angular Component class ɵfac 的属性介绍
|
9月前
|
JavaScript 数据安全/隐私保护 开发者
Angular Component Class 成员属性默认的访问权限控制
Angular Component Class 成员属性默认的访问权限控制
|
2月前
Angular获取Location对象,获取当前网页url、hash、hostname、href、pathname、port、protocal
Angular获取Location对象,获取当前网页url、hash、hostname、href、pathname、port、protocal
|
8月前
|
JavaScript 编译器 开发者
关于 Angular 应用的 ng-version 属性
关于 Angular 应用的 ng-version 属性
|
9月前
|
JavaScript
Angular Component 属性绑定 target 和 attr.target 的区别
Angular Component 属性绑定 target 和 attr.target 的区别
|
2月前
|
存储 前端开发 API
浅谈 Angular 应用前端消息显示机制的一个实际需求
浅谈 Angular 应用前端消息显示机制的一个实际需求
|
2月前
|
设计模式 JavaScript 前端开发
什么是 Angular 应用里的 Custom provider
什么是 Angular 应用里的 Custom provider
|
2月前
|
JavaScript 前端开发 架构师
Angular进阶:理解RxJS在Angular应用中的高效运用
RxJS(Reactive Extensions for JavaScript)是JavaScript的一个响应式编程库,特别适用于处理异步数据流。
40 0