首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Durandal,你如何在一个视图中使用多个视图模型文件来分解一个大文件?

使用Durandal,你如何在一个视图中使用多个视图模型文件来分解一个大文件?
EN

Stack Overflow用户
提问于 2013-04-16 23:18:46
回答 1查看 1.5K关注 0票数 0

我有一个应用程序,它利用了谷歌地图的一个视图。这是一个使用Durandal的view/viewmodel文件结构的SPA。我试图解决的问题是,共享地图视图(google地图)的功能模式是相当多样化的。例如,应用程序需要在地图上显示车辆的当前位置,能够显示车辆的历史信息(路径),并允许创建、编辑和删除Geofence。使用地图的每种模式都要求隐藏某些UX控件,而使其他控件可见。

我相信,当上面的所有视图模型逻辑代码都准备就绪时,视图模型将变得非常大,因此很难维护和编码。我试图避免使用包含所有这些UX控件的逻辑的大型视图模型文件。

从概念上讲,我想让多个视图模型文件与单个视图文件无缝地工作,这样我就不必在多个视图中重复使用google地图。此外,如果可能的话,我想使用Knockout来维护简单/自动绑定。在维护单个视图文件的同时,使用Durandal分解大型视图模型文件有哪些解决方案?这是可能的,甚至是可取的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-17 03:28:34

我会去读requirejs上的文章。Durandal使用requirejs作为构建javascript文件的一种方式。Requirejs遵循AMD pattern,它为你做了相当多的事情。允许您使用封装创建私有变量,并防止污染全局命名空间。

在AMD中也有一些模式,你可以使用单例或者amd模块来返回用于创建对象的函数。就像“类”在面向对象语言中的使用一样。尽管Javascript继承有点时髦..所以这可能需要一些阅读..以了解继承的不同工作方式。

所以,一旦你所有的js文件被分解成一百万个小模块,你就会像ermergawd一样……我的通心粉代码现在是通心粉代码!

但是不要害怕..您的通心粉代码都可以使用r.js进行压缩/缩小/丑化。r.js可以将你所有的html/css/js压缩成一个文件..这可能是您的整个应用程序/站点。Durandal还提供了一个令人敬畏的optimizer,它将自动为您完成所有这些工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16040812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档