我在尝试使用 JQM 和 MVVM 时遇到了一些挑战。我也在尝试使用 knockout.js。
例如,目前我正在尝试实现类似于 iOS 页面控件的导航(小点表示您可以滑动导航到下一页):
要显示的数据是从服务器获取的,需要在 JQM 页面中显示。因此需要动态创建 JQM 页面。
从 UI 的角度来看,我计划使用包含点的固定页脚(基于页数)。
问题在于需要在 JQM 页面之间持久存在的视图模型,因为我不想逐页从服务器加载数据,数据会立即加载,并且预计客户端会在页面中显示它。
我可以有一个视图模型来保存数据并贯穿应用程序的整个生命周期,并将每个页面视图绑定到它。相反,只要视图确实需要它,我想保持视图模型处于活动状态。
我正在考虑的解决方案是捕获 jQueryMobile 页面导航事件并查看导航是否在这些页面之间。如果不是,则应删除视图模型(将其分配给 null)。下次如果需要加载这些页面中的任何一个(例如通过导航回到最后一页),则重新创建视图模型(再次从网站获取数据)。
有更好的方法吗?