【问题标题】:MVC 4 SPA without JS frameworks?没有 JS 框架的 MVC 4 SPA?
【发布时间】:2013-05-02 02:08:12
【问题描述】:

我花了几乎一整天的时间研究将 SPA 与 MVC 4 结合使用的可能性。我遇到了一个又一个模板和一个又一个框架的 JS 框架。人们正在使用 Knockout、Backbone.js、Breeze.js 和许多其他框架。似乎很多人都在使用 MVVM 来显示数据。

但我真正在寻找的是,是否有一种方法可以开发一个 依赖多个 JS 框架来使其工作的 SPA。是否有一些最小的设置使用最少的插件和框架来使 SPA 工作?我注意到我们可以只使用 History.js,但是我们需要某种路由抽象,对吗?那么如果我们只想设置简单的路由(浏览器历史管理)而不是 MVVM 怎么办?有这样做的选择吗?

(如果我可以更好地表达我的问题或者我是否可以改进它,请告诉我)

【问题讨论】:

    标签: asp.net-mvc-4 single-page-application


    【解决方案1】:

    您可以在页面加载时配置 sammy.js 或 history.js 并动态加载视图...

     sammy.get('#/(.*)', function (context) {
          var url = this.params['splat'];
          $("#main").load(url);
     });
    

    例如,如果我们加载 localhost:333/Home/ContactUs... 它将读取联系我们视图并动态加载内容。

    如果您想为 SPA 选择 js 框架,可以比较以下其他库。我认为 Angular 涵盖了 spa 作为单个库的所有要求。 http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-seven-frameworks-throne-of-js-2012/

    【讨论】:

    • 太好了,谢谢您的回复!现在我一直困惑的另一件事与 MVC 4 相关。所以我理解能够单击页面上的链接以动态加载视图(它在 URL 中显示 localhost:333/Home/ContactUs,但加载通过 AJAX 的视图)。但是设置 MVC 4 怎么样,所以当有人直接浏览到 localhost:333/Home/ContactUs 时,它不只是去那个 PartialView?如何让 MVC 4 和 sammy.js 或 history.js 无缝协作?
    • 您必须配置 sammy 或 history.js... 我正在使用 sammy.js,它非常好,当您配置它时,您会明白很多事情。当有人直接打开它时,它肯定会打开部分视图,但你可以在控制器中检查它的 ajax 请求是否...... Sammy.js 与哈希基 URL 一起使用,你可以定义不同的路由并执行操作
    猜你喜欢
    • 2013-02-21
    • 2012-03-27
    • 2018-02-26
    • 1970-01-01
    • 2018-10-23
    • 2011-10-21
    • 1970-01-01
    • 2015-10-09
    • 2011-12-06
    相关资源
    最近更新 更多