Angular 通用启动器:服务 TransferState 的目的是什么?
Angular universal starter: Wha't the purpose of the service TransferState?
我不得不承认,我不明白 Angular universal starter
应用程序 (https://github.com/angular/universal-starter) 中服务 TransferState
的目的和目标。
我猜它是为了在客户端和服务器之间共享数据,但我不确定在哪种情况下适用或应该应用。
是否有人理解并能用一个简单的例子向我解释其目的?
提前致谢
TransferState 当前未在 https://universal.angular.io/api/universal/index.html#typedoc-main-index 中列出,这可能表明该功能正在开发中且不打算使用,它不打算直接使用(例如从图书馆本身),或者它可能是一个简单的遗漏,或者可能由于其他原因被排除在外...
但是,在查看 TransferState
的代码时,它似乎非常稀疏,除了:
和
此处的主要线索似乎是在服务器文件中包含 import * as serialize from 'serialize-javascript';
,以及许多不同的 .map
语句,以及关于文件用途的其他提示。
从粗略的检查来看,它似乎只是一小段代码,用于将一个文件或io类型的状态转换为另一个。例如代码:
toJson(): any {
const obj = {};
Array.from(this.keys())
.forEach(key => {
obj[key] = this.get(key);
});
return obj;
}
在 transfer-state.ts
文件中。应该可以像这样调用这个函数:
myFile.transferState.toJson();
为了将给定输入的状态传输到 JSON 数据中。这似乎是许多预先存在的功能的重复,这也可能是它未在文档中列出的原因。
GitHub Issue answering your question.
我有两个猜测。
- Universal Gotchas 中的第三个要点 - 提到的示例可能是 TransferModule
- Preboot.js 增强功能,因为它现在不支持 API 调用
我不得不承认,我不明白 Angular universal starter
应用程序 (https://github.com/angular/universal-starter) 中服务 TransferState
的目的和目标。
我猜它是为了在客户端和服务器之间共享数据,但我不确定在哪种情况下适用或应该应用。
是否有人理解并能用一个简单的例子向我解释其目的?
提前致谢
TransferState 当前未在 https://universal.angular.io/api/universal/index.html#typedoc-main-index 中列出,这可能表明该功能正在开发中且不打算使用,它不打算直接使用(例如从图书馆本身),或者它可能是一个简单的遗漏,或者可能由于其他原因被排除在外...
但是,在查看 TransferState
的代码时,它似乎非常稀疏,除了:
和
此处的主要线索似乎是在服务器文件中包含 import * as serialize from 'serialize-javascript';
,以及许多不同的 .map
语句,以及关于文件用途的其他提示。
从粗略的检查来看,它似乎只是一小段代码,用于将一个文件或io类型的状态转换为另一个。例如代码:
toJson(): any {
const obj = {};
Array.from(this.keys())
.forEach(key => {
obj[key] = this.get(key);
});
return obj;
}
在 transfer-state.ts
文件中。应该可以像这样调用这个函数:
myFile.transferState.toJson();
为了将给定输入的状态传输到 JSON 数据中。这似乎是许多预先存在的功能的重复,这也可能是它未在文档中列出的原因。
GitHub Issue answering your question.
我有两个猜测。
- Universal Gotchas 中的第三个要点 - 提到的示例可能是 TransferModule
- Preboot.js 增强功能,因为它现在不支持 API 调用