首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否预先加载所有视图模型/视图,还是按需加载?

是否预先加载所有视图模型/视图,还是按需加载?
EN

Stack Overflow用户
提问于 2013-03-03 10:09:34
回答 2查看 1.1K关注 0票数 3

Durandal是在初始加载/预加载期间加载视图模型/视图,还是按需加载它们。

假设我有一个非常大的网站,每个视图有100个或更多的页面,每个视图都有一个相当大的viewModel。Durandal会预先加载所有这些内容吗?

每个视图中的数据调用如何,如果预先加载它们,所有这些调用都会被触发吗?

试图理解杜兰达的行为

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-04 10:57:44

Durandal根据需要(按需)加载视图和视图模型。所以在你的例子中,有100个视图和视图模型,你只能加载你使用的视图和视图模型。查看浏览器工具的Network选项卡,您可以看到它们会根据需要显示出来。

此外,一旦它们是本地的,它们就被缓存在浏览器中,这是一件好事。

如果你的视图模型在“激活”时进行数据调用,那么是的,它们将在你每次激活它们时被调用。有关生命周期事件的更多信息,请参阅Durandal文档。

但是,如果您运行optimizer.exe,它将打包所有这些内容,并在前面的单个镜头(缩小)中将它们带到客户端。这不是我在开发过程中做的事情。但是,如果你想在上线后预先加载所有东西,这是一种让整个应用程序本地化的方法。

对于你的具有100+视图的应用程序,我可能会按我的方式加载,因为不太可能有人会在一次使用中达到100个浏览量(我猜是这样的)。这取决于您打算如何使用应用程序。

票数 4
EN

Stack Overflow用户

发布于 2013-03-04 00:13:23

我刚接触durandal,但我很确定你有两个选择。

您可以按需加载它们,这是默认的,或者您可以将其构建为一个应用程序,该应用程序会将所有应用程序文件缩小到一个包中。我不确定构建步骤的具体细节,但如果你采用这种方法,那么你的整个应用程序就可以一次性下载。

对于每个视图中的数据调用,您通常会在视图模型的激活函数中启动这些调用。因此,只有当你的视图模型被激活时,它们才会发生,而不是完全预先激活。

因此,对于您的场景,Durandal将非常好地工作。

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

https://stackoverflow.com/questions/15181714

复制
相关文章

相似问题

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