mmRouter icon indicating copy to clipboard operation
mmRouter copied to clipboard

mmState改进计划

Open RubyLouvre opened this issue 10 years ago • 0 comments

现在路由器遇到一个问题, 就是切换后某些VM的数据丢失

因为有些VM是定义在子页面的.

mmState.state("xxxx",{ })

子页面是通过路由器切换

这些VM应该只初始化一次

并且应该与用户交互逻辑分离

换言之,这些VM与普通JS分别在不同的函数内

普通JS所在的函数应该能拿到它们想要的VM,或者说通过依赖注入

当页面再切换到其他页面时, 应该做一些后继处理

比如, 页面上的ms-widget生成的VM,它们的数据应该保存起来

当页面再切换回来, VM不用再重新创建,它们只需要再扫描(mmState不会保存这些子页面的DOM节点,

这是在移动端出于性能考虑, 只保存字符器)

然后子页面的ms-widget 再重新赋予之前的数据

这样一来, 就能还原所有之前的状态

RubyLouvre avatar Feb 03 '15 03:02 RubyLouvre