- ('id');
+}
+```
+
+### 如何通过深度嵌套的键进行跟踪
+
+你可以使用 `byDeep` 获取一个 `TrackByFunction` , 它根据深度嵌套的键跟踪迭代对象. 你可以将迭代类型传递给它获得类型支持.
+
+
+```html
+
+
+
+ {%{{{ item.tenant.name }}}%}
+
+```
+
+`byDeep` 作为一个独立函数导出,命名为 `trackByDeep`.
+
+```js
+import { trackByDeep } from "@abp/ng.core";
+
+@Component({
+ template: `
+
+ {%{{{ item.name }}}%}
+
+ `,
+})
+class DemoComponent {
+ list: Item[];
+
+ trackByTenantAccountId = trackByDeep- ('tenant', 'account', 'id');
+}
+```
diff --git a/docs/zh-Hans/docs-nav.json b/docs/zh-Hans/docs-nav.json
index 2b42110bc5..1068356a58 100644
--- a/docs/zh-Hans/docs-nav.json
+++ b/docs/zh-Hans/docs-nav.json
@@ -308,6 +308,14 @@
{
"text": "Angular",
"items": [
+ {
+ "text": "服务代理",
+ "path": "UI/Angular/Service-Proxies.md"
+ },
+ {
+ "text": "HTTP请求",
+ "path": "UI/Angular/HTTP-Requests.md"
+ },
{
"text": "本地化",
"path": "UI/Angular/Localization.md"
@@ -316,9 +324,33 @@
"text": "权限管理",
"path": "UI/Angular/Permission-Management.md"
},
+ {
+ "text": "配置状态",
+ "path": "UI/Angular/Config-State.md"
+ },
{
"text": "替换组件",
"path": "UI/Angular/Component-Replacement.md"
+ },
+ {
+ "text": "自定义设置页",
+ "path": "UI/Angular/Custom-Setting-Page.md"
+ },
+ {
+ "text": "懒加载Scripts与Styles",
+ "path": "UI/Angular/Lazy-Load-Service.md"
+ },
+ {
+ "text": "DomInsertionService",
+ "path": "UI/Angular/Dom-Insertion-Service.md"
+ },
+ {
+ "text": "ContentProjectionService",
+ "path": "UI/Angular/Content-Projection-Service.md"
+ },
+ {
+ "text": "TrackByService",
+ "path": "UI/Angular/Track-By-Service.md"
}
]
},