我可以在主视图的 Knockout 视图模型中使用 MVC 局部视图中的模型吗?

Posted

技术标签:

【中文标题】我可以在主视图的 Knockout 视图模型中使用 MVC 局部视图中的模型吗?【英文标题】:Can I use the model from an MVC partial view in my Knockout viewmodel in the main view? 【发布时间】:2016-06-25 16:53:15 【问题描述】:

我目前正在处理一个包含多个部分视图的视图,其中可能也有部分视图。

我已经为整个视图设置了一个 Knockout 视图模型,它也涵盖了部分视图。这是在一个单独的 js 文件中。我已将其设置为一个视图模型,因为我希望将其全部保存。也许这是错误的做法,我应该为不同的视图设置不同的视图模型。

部分视图有自己的视图模型,我想用它来填充剔除视图模型。

我只使用 Knockout 几个月,所以我不确定这是否可行或合理。我将不胜感激有关如何执行此操作的任何意见或示例,或任何替代方法,例如我应该为每个部分使用单独的淘汰视图模型,然后将所有内容作为单独的 ajax 发布回服务器吗?

非常感谢。

【问题讨论】:

youtube.com/watch?v=vhT9Id8Jfb8,做你想做的,如果有什么不工作,然后把鳕鱼放在这里和问题 【参考方案1】:

您可以使用敲除 component 来获取您的特定 html 和 js 文件。使用敲除组件,您将能够在敲除js的帮助下完全分离您的关注点。 最后,如果您想拥有更易于管理的 Web 应用程序,您可以使用 durandal,它在使用 knockoutJs、jQuery 和 bootstrap 时效果很好。

【讨论】:

谢谢。我会考虑你的建议。

以上是关于我可以在主视图的 Knockout 视图模型中使用 MVC 局部视图中的模型吗?的主要内容,如果未能解决你的问题,请参考以下文章

我是不是总是使用 Knockout 映射插件来执行我的视图模型,从而过度使用它?

在 knockout.js 视图模型中使用 `var self = this` 有啥好处 [重复]

多视图模型破坏了 knockout.js

Knockout.js - 封装视图模型并从外部隐藏它们

knockout.js remove 不适用于主视图模型中的嵌套视图模型和视图模型

Knockout 将 2 个链接绑定到不同的视图并切换模型视图