@solar-angular/router 19.3.4 → 20.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/solar-angular-router.mjs.map +1 -1
- package/index.d.ts +29 -1
- package/package.json +3 -3
- package/route-reuse-strategy.d.ts +0 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solar-angular-router.mjs","sources":["../../../packages/router/src/route-reuse-strategy.ts","../../../packages/router/src/solar-angular-router.ts"],"sourcesContent":["import { ActivatedRouteSnapshot, DetachedRouteHandle, Route, RouteReuseStrategy } from '@angular/router';\n\nexport class BaseRouteReuse implements RouteReuseStrategy {\n private handlers = new Map<Route, { handle: DetachedRouteHandle; snapshot: ActivatedRouteSnapshot }>();\n\n /**\n * 是否缓存离开的路由组件\n */\n shouldDetach(route: ActivatedRouteSnapshot): boolean {\n return route.data['reuse'];\n }\n\n /**\n * 当路由离开时将该组件存入缓存\n */\n store(route: ActivatedRouteSnapshot, handle: DetachedRouteHandle): void {\n if (route.routeConfig) {\n this.handlers.set(route.routeConfig, { handle, snapshot: route });\n }\n }\n\n /**\n * 是否使用缓存的路由组件\n */\n shouldAttach(route: ActivatedRouteSnapshot): boolean {\n const config = route.routeConfig;\n if (!config || !this.handlers.has(config)) {\n return false;\n }\n\n const cached = this.handlers.get(config)!;\n // 修改: 只有当 params、queryParams 和 data 完全一致时才允许还原缓存\n return isRouteEqual(route, cached.snapshot);\n }\n\n /**\n * 获取缓存的组件\n */\n retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle | null {\n if (!route.routeConfig) return null;\n const cached = this.handlers.get(route.routeConfig);\n return cached ? cached.handle : null;\n }\n\n /**\n * 判断是否复用当前路由\n * 当导航到相同的路由时,复用当前路由\n * 但如果 params、queryParams 或 data 发生变化,则不复用\n */\n shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {\n // 修改: 使用增强的对比逻辑\n return isRouteEqual(future, curr);\n }\n\n}\n\nfunction isRouteEqual(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {\n if (future.routeConfig !== curr.routeConfig) {\n return false;\n }\n\n if (!compareObjects(future.params, curr.params)) {\n return false;\n }\n\n if (!compareObjects(future.queryParams, curr.queryParams)) {\n return false;\n }\n\n // if (!compareObjects(future.data, curr.data)) {\n // return false;\n // }\n\n return true;\n}\n\nfunction compareObjects(obj1: any, obj2: any): boolean {\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n for (const key of keys1) {\n if (obj1[key] !== obj2[key]) {\n return false;\n }\n }\n return true;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"MAEa,cAAc,CAAA;AAA3B,IAAA,WAAA,GAAA;AACU,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,GAAG,EAA4E;;AAEtG;;AAEG;AACH,IAAA,YAAY,CAAC,KAA6B,EAAA;AACxC,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;;AAG5B;;AAEG;IACH,KAAK,CAAC,KAA6B,EAAE,MAA2B,EAAA;AAC9D,QAAA,IAAI,KAAK,CAAC,WAAW,EAAE;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;;AAIrE;;AAEG;AACH,IAAA,YAAY,CAAC,KAA6B,EAAA;AACxC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW;AAChC,QAAA,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;AACzC,YAAA,OAAO,KAAK;;QAGd,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE;;QAEzC,OAAO,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;;AAG7C;;AAEG;AACH,IAAA,QAAQ,CAAC,KAA6B,EAAA;QACpC,IAAI,CAAC,KAAK,CAAC,WAAW;AAAE,YAAA,OAAO,IAAI;AACnC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;QACnD,OAAO,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI;;AAGtC;;;;AAIG;IACH,gBAAgB,CAAC,MAA8B,EAAE,IAA4B,EAAA;;AAE3E,QAAA,OAAO,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC;;AAGpC;AAED,SAAS,YAAY,CAAC,MAA8B,EAAE,IAA4B,EAAA;IAChF,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE;AAC3C,QAAA,OAAO,KAAK;;AAGd,IAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;AAC/C,QAAA,OAAO,KAAK;;AAGd,IAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;AACzD,QAAA,OAAO,KAAK;;;;;AAOd,IAAA,OAAO,IAAI;AACb;AAEA,SAAS,cAAc,CAAC,IAAS,EAAE,IAAS,EAAA;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;AACjC,QAAA,OAAO,KAAK;;AAGd,IAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;QACvB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE;AAC3B,YAAA,OAAO,KAAK;;;AAGhB,IAAA,OAAO,IAAI;AACb;;AC1FA;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"solar-angular-router.mjs","sources":["../tmp-esm2022/route-reuse-strategy.js","../tmp-esm2022/solar-angular-router.js"],"sourcesContent":["export class BaseRouteReuse {\n constructor() {\n this.handlers = new Map();\n }\n /**\n * 是否缓存离开的路由组件\n */\n shouldDetach(route) {\n return route.data['reuse'];\n }\n /**\n * 当路由离开时将该组件存入缓存\n */\n store(route, handle) {\n if (route.routeConfig) {\n this.handlers.set(route.routeConfig, { handle, snapshot: route });\n }\n }\n /**\n * 是否使用缓存的路由组件\n */\n shouldAttach(route) {\n const config = route.routeConfig;\n if (!config || !this.handlers.has(config)) {\n return false;\n }\n const cached = this.handlers.get(config);\n // 修改: 只有当 params、queryParams 和 data 完全一致时才允许还原缓存\n return isRouteEqual(route, cached.snapshot);\n }\n /**\n * 获取缓存的组件\n */\n retrieve(route) {\n if (!route.routeConfig)\n return null;\n const cached = this.handlers.get(route.routeConfig);\n return cached ? cached.handle : null;\n }\n /**\n * 判断是否复用当前路由\n * 当导航到相同的路由时,复用当前路由\n * 但如果 params、queryParams 或 data 发生变化,则不复用\n */\n shouldReuseRoute(future, curr) {\n // 修改: 使用增强的对比逻辑\n return isRouteEqual(future, curr);\n }\n}\nfunction isRouteEqual(future, curr) {\n if (future.routeConfig !== curr.routeConfig) {\n return false;\n }\n if (!compareObjects(future.params, curr.params)) {\n return false;\n }\n if (!compareObjects(future.queryParams, curr.queryParams)) {\n return false;\n }\n // if (!compareObjects(future.data, curr.data)) {\n // return false;\n // }\n return true;\n}\nfunction compareObjects(obj1, obj2) {\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n if (obj1[key] !== obj2[key]) {\n return false;\n }\n }\n return true;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtcmV1c2Utc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9yb3V0ZXIvc3JjL3JvdXRlLXJldXNlLXN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxjQUFjO0lBQTNCO1FBQ1UsYUFBUSxHQUFHLElBQUksR0FBRyxFQUE0RSxDQUFDO0lBbUR6RyxDQUFDO0lBakRDOztPQUVHO0lBQ0gsWUFBWSxDQUFDLEtBQTZCO1FBQ3hDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsS0FBNkIsRUFBRSxNQUEyQjtRQUM5RCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZLENBQUMsS0FBNkI7UUFDeEMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMxQyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUUsQ0FBQztRQUMxQyxpREFBaUQ7UUFDakQsT0FBTyxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRLENBQUMsS0FBNkI7UUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDcEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBQyxNQUE4QixFQUFFLElBQTRCO1FBQzNFLGdCQUFnQjtRQUNoQixPQUFPLFlBQVksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUVGO0FBRUQsU0FBUyxZQUFZLENBQUMsTUFBOEIsRUFBRSxJQUE0QjtJQUNoRixJQUFJLE1BQU0sQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNoRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDMUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsaURBQWlEO0lBQ2pELGtCQUFrQjtJQUNsQixJQUFJO0lBRUosT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsSUFBUyxFQUFFLElBQVM7SUFDMUMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWhDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM1QixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgRGV0YWNoZWRSb3V0ZUhhbmRsZSwgUm91dGUsIFJvdXRlUmV1c2VTdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCBjbGFzcyBCYXNlUm91dGVSZXVzZSBpbXBsZW1lbnRzIFJvdXRlUmV1c2VTdHJhdGVneSB7XG4gIHByaXZhdGUgaGFuZGxlcnMgPSBuZXcgTWFwPFJvdXRlLCB7IGhhbmRsZTogRGV0YWNoZWRSb3V0ZUhhbmRsZTsgc25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfT4oKTtcblxuICAvKipcbiAgICog5piv5ZCm57yT5a2Y56a75byA55qE6Lev55Sx57uE5Lu2XG4gICAqL1xuICBzaG91bGREZXRhY2gocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcm91dGUuZGF0YVsncmV1c2UnXTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlvZPot6/nlLHnprvlvIDml7blsIbor6Xnu4Tku7blrZjlhaXnvJPlrZhcbiAgICovXG4gIHN0b3JlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBoYW5kbGU6IERldGFjaGVkUm91dGVIYW5kbGUpOiB2b2lkIHtcbiAgICBpZiAocm91dGUucm91dGVDb25maWcpIHtcbiAgICAgIHRoaXMuaGFuZGxlcnMuc2V0KHJvdXRlLnJvdXRlQ29uZmlnLCB7IGhhbmRsZSwgc25hcHNob3Q6IHJvdXRlIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDmmK/lkKbkvb/nlKjnvJPlrZjnmoTot6/nlLHnu4Tku7ZcbiAgICovXG4gIHNob3VsZEF0dGFjaChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IHJvdXRlLnJvdXRlQ29uZmlnO1xuICAgIGlmICghY29uZmlnIHx8ICF0aGlzLmhhbmRsZXJzLmhhcyhjb25maWcpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgY2FjaGVkID0gdGhpcy5oYW5kbGVycy5nZXQoY29uZmlnKSE7XG4gICAgLy8g5L+u5pS5OiDlj6rmnInlvZMgcGFyYW1z44CBcXVlcnlQYXJhbXMg5ZKMIGRhdGEg5a6M5YWo5LiA6Ie05pe25omN5YWB6K646L+Y5Y6f57yT5a2YXG4gICAgcmV0dXJuIGlzUm91dGVFcXVhbChyb3V0ZSwgY2FjaGVkLnNuYXBzaG90KTtcbiAgfVxuXG4gIC8qKlxuICAgKiDojrflj5bnvJPlrZjnmoTnu4Tku7ZcbiAgICovXG4gIHJldHJpZXZlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogRGV0YWNoZWRSb3V0ZUhhbmRsZSB8IG51bGwge1xuICAgIGlmICghcm91dGUucm91dGVDb25maWcpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMuaGFuZGxlcnMuZ2V0KHJvdXRlLnJvdXRlQ29uZmlnKTtcbiAgICByZXR1cm4gY2FjaGVkID8gY2FjaGVkLmhhbmRsZSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICog5Yik5pat5piv5ZCm5aSN55So5b2T5YmN6Lev55SxXG4gICAqIOW9k+WvvOiIquWIsOebuOWQjOeahOi3r+eUseaXtu+8jOWkjeeUqOW9k+WJjei3r+eUsVxuICAgKiDkvYblpoLmnpwgcGFyYW1z44CBcXVlcnlQYXJhbXMg5oiWIGRhdGEg5Y+R55Sf5Y+Y5YyW77yM5YiZ5LiN5aSN55SoXG4gICAqL1xuICBzaG91bGRSZXVzZVJvdXRlKGZ1dHVyZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycjogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgIC8vIOS/ruaUuTog5L2/55So5aKe5by655qE5a+55q+U6YC76L6RXG4gICAgcmV0dXJuIGlzUm91dGVFcXVhbChmdXR1cmUsIGN1cnIpO1xuICB9XG5cbn1cblxuZnVuY3Rpb24gaXNSb3V0ZUVxdWFsKGZ1dHVyZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycjogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICBpZiAoZnV0dXJlLnJvdXRlQ29uZmlnICE9PSBjdXJyLnJvdXRlQ29uZmlnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFjb21wYXJlT2JqZWN0cyhmdXR1cmUucGFyYW1zLCBjdXJyLnBhcmFtcykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWNvbXBhcmVPYmplY3RzKGZ1dHVyZS5xdWVyeVBhcmFtcywgY3Vyci5xdWVyeVBhcmFtcykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBpZiAoIWNvbXBhcmVPYmplY3RzKGZ1dHVyZS5kYXRhLCBjdXJyLmRhdGEpKSB7XG4gIC8vICAgcmV0dXJuIGZhbHNlO1xuICAvLyB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGNvbXBhcmVPYmplY3RzKG9iajE6IGFueSwgb2JqMjogYW55KTogYm9vbGVhbiB7XG4gIGNvbnN0IGtleXMxID0gT2JqZWN0LmtleXMob2JqMSk7XG4gIGNvbnN0IGtleXMyID0gT2JqZWN0LmtleXMob2JqMik7XG5cbiAgaWYgKGtleXMxLmxlbmd0aCAhPT0ga2V5czIubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5czEpIHtcbiAgICBpZiAob2JqMVtrZXldICE9PSBvYmoyW2tleV0pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sYXItYW5ndWxhci1yb3V0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9yb3V0ZXIvc3JjL3NvbGFyLWFuZ3VsYXItcm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"AAAO,MAAM,cAAc,CAAC;AAC5B,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE;AACjC,IAAI;AACJ;AACA;AACA;AACA,IAAI,YAAY,CAAC,KAAK,EAAE;AACxB,QAAQ,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;AAClC,IAAI;AACJ;AACA;AACA;AACA,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE;AACzB,QAAQ,IAAI,KAAK,CAAC,WAAW,EAAE;AAC/B,YAAY,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC7E,QAAQ;AACR,IAAI;AACJ;AACA;AACA;AACA,IAAI,YAAY,CAAC,KAAK,EAAE;AACxB,QAAQ,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW;AACxC,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;AACnD,YAAY,OAAO,KAAK;AACxB,QAAQ;AACR,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;AAChD;AACA,QAAQ,OAAO,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnD,IAAI;AACJ;AACA;AACA;AACA,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,CAAC,KAAK,CAAC,WAAW;AAC9B,YAAY,OAAO,IAAI;AACvB,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;AAC3D,QAAQ,OAAO,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI;AAC5C,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE;AACnC;AACA,QAAQ,OAAO,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC;AACzC,IAAI;AACJ;AACA,SAAS,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE;AACpC,IAAI,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE;AACjD,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;AACrD,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;AAC/D,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ;AACA;AACA;AACA,IAAI,OAAO,IAAI;AACf;AACA,SAAS,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE;AACpC,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACnC,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACnC,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;AACvC,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ,IAAI,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AAC7B,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE;AACrC,YAAY,OAAO,KAAK;AACxB,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,IAAI;AACf;;AC5EA;AACA;AACA;;;;"}
|
package/index.d.ts
CHANGED
|
@@ -1 +1,29 @@
|
|
|
1
|
-
|
|
1
|
+
import { RouteReuseStrategy, ActivatedRouteSnapshot, DetachedRouteHandle } from '@angular/router';
|
|
2
|
+
|
|
3
|
+
declare class BaseRouteReuse implements RouteReuseStrategy {
|
|
4
|
+
private handlers;
|
|
5
|
+
/**
|
|
6
|
+
* 是否缓存离开的路由组件
|
|
7
|
+
*/
|
|
8
|
+
shouldDetach(route: ActivatedRouteSnapshot): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* 当路由离开时将该组件存入缓存
|
|
11
|
+
*/
|
|
12
|
+
store(route: ActivatedRouteSnapshot, handle: DetachedRouteHandle): void;
|
|
13
|
+
/**
|
|
14
|
+
* 是否使用缓存的路由组件
|
|
15
|
+
*/
|
|
16
|
+
shouldAttach(route: ActivatedRouteSnapshot): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* 获取缓存的组件
|
|
19
|
+
*/
|
|
20
|
+
retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle | null;
|
|
21
|
+
/**
|
|
22
|
+
* 判断是否复用当前路由
|
|
23
|
+
* 当导航到相同的路由时,复用当前路由
|
|
24
|
+
* 但如果 params、queryParams 或 data 发生变化,则不复用
|
|
25
|
+
*/
|
|
26
|
+
shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export { BaseRouteReuse };
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solar-angular/router",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "20.0.0",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
8
8
|
"peerDependencies": {
|
|
9
|
-
"@angular/core": ">=
|
|
10
|
-
"@angular/router": ">=
|
|
9
|
+
"@angular/core": ">=20.0.0",
|
|
10
|
+
"@angular/router": ">=20.0.0"
|
|
11
11
|
},
|
|
12
12
|
"module": "fesm2022/solar-angular-router.mjs",
|
|
13
13
|
"typings": "index.d.ts",
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { ActivatedRouteSnapshot, DetachedRouteHandle, RouteReuseStrategy } from '@angular/router';
|
|
2
|
-
export declare class BaseRouteReuse implements RouteReuseStrategy {
|
|
3
|
-
private handlers;
|
|
4
|
-
/**
|
|
5
|
-
* 是否缓存离开的路由组件
|
|
6
|
-
*/
|
|
7
|
-
shouldDetach(route: ActivatedRouteSnapshot): boolean;
|
|
8
|
-
/**
|
|
9
|
-
* 当路由离开时将该组件存入缓存
|
|
10
|
-
*/
|
|
11
|
-
store(route: ActivatedRouteSnapshot, handle: DetachedRouteHandle): void;
|
|
12
|
-
/**
|
|
13
|
-
* 是否使用缓存的路由组件
|
|
14
|
-
*/
|
|
15
|
-
shouldAttach(route: ActivatedRouteSnapshot): boolean;
|
|
16
|
-
/**
|
|
17
|
-
* 获取缓存的组件
|
|
18
|
-
*/
|
|
19
|
-
retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle | null;
|
|
20
|
-
/**
|
|
21
|
-
* 判断是否复用当前路由
|
|
22
|
-
* 当导航到相同的路由时,复用当前路由
|
|
23
|
-
* 但如果 params、queryParams 或 data 发生变化,则不复用
|
|
24
|
-
*/
|
|
25
|
-
shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean;
|
|
26
|
-
}
|