baidu / san-router

Official Router for San
MIT License
38 stars 25 forks source link

[feature request] 嵌套路由和异步组件 #15

Closed jiangjiu closed 2 years ago

jiangjiu commented 7 years ago

场景6407460ba0537a010681afc5364ade85 https://juejin.im/welcome/frontend 可以看到这个网址有两级路由,每一级分别对应一层多Tab。

目前cms这边存在类似的场景,如果没有二级路由和异步组件的话,拆分组件和数据加载是个很头疼的事儿。

问题: 异步组件配合webpack比较好解决 嵌套路由的话, 目前san只能通过attach方法渲染到指定dom,暂时想不到嵌套子路由如何继承父子组件关系和属性。

qiulin commented 6 years ago

请问一下,现在这个有进展吗? @jiangjiu

jiangjiu commented 6 years ago

@qiulin 异步组件比较简单,嵌套暂时无解

qiulin commented 6 years ago

@jiangjiu 嵌套路由在其他前端框架的路由中都有实现,网易 Regular.js 的 stateman.js 也支持(参考示例在这个基础上撸了一个 san 的路由在凑活用,但感觉不太存粹),因为是后端开发,不太明白难点是在哪里,还是和 san.js 本身的实现有冲突?

jiangjiu commented 6 years ago

@qiulin 如果只是实现页面嵌套的话,也还好说,如果要像其他路由一样,路由子组件可以完美获得路由父组件的props、events等信息,暂时无解。

感觉嵌套路由这个需求和组件级别的hmr是类似的,都是要动态载入子组件并获得父组件传入的信息和事件绑定。

主要是san的组件在初始化时候,丢掉了一部分信息(比如事件绑定后,这部分信息就丢掉了),导致无法动态再编译。。。详见 https://github.com/jiangjiu/blog-md/issues/32

qiulin commented 6 years ago

@jiangjiu 多谢

314278548 commented 5 years ago

请问子路由有什么解决方案了没,请告知一下@jiangjiu

jiangjiu commented 5 years ago

请问子路由有什么解决方案了没,请告知一下@jiangjiu @314278548 san@3.7.0会增加异步组件和可连接组件树的动态组件,有这两个特性做嵌套路由就比较方便了,不过暂时木有人做

errorrik commented 2 years ago

supported