JavascriptMVC应用程序的概念设计

JavascriptMVC应用程序的概念设计,javascript,model-view-controller,javascriptmvc,Javascript,Model View Controller,Javascriptmvc,我正在建立一个带有“页面内容”区域和主要导航链接的单页网站。单击链接将运行动画并将内容(和html)加载到“页面内容”区域 我对MVC有很好的理解,但是在javascriptMVC框架的上下文中,我在设计我的应用程序时遇到了一些问题。我将增加大量的JavaScript(和JavaScript动画),所以我想给我的网站一个很好的基础。 我是否有一个带有包含数据(和)的装置的模型(索引) html)我想添加什么 我是否有一个带有动作(动画)的页面(索引)控制器 然后从夹具中加载数据) 如何将每个链

我正在建立一个带有“页面内容”区域和主要导航链接的单页网站。单击链接将运行动画并将内容(和html)加载到“页面内容”区域

我对MVC有很好的理解,但是在javascriptMVC框架的上下文中,我在设计我的应用程序时遇到了一些问题。我将增加大量的JavaScript(和JavaScript动画),所以我想给我的网站一个很好的基础。
  • 我是否有一个带有包含数据(和)的装置的模型(索引) html)我想添加什么

  • 我是否有一个带有动作(动画)的页面(索引)控制器 然后从夹具中加载数据)

  • 如何将每个链接指向一个操作


基本上,我如何使用javascriptMVC框架在概念上设计页面

我现在正在为iPhone构建一个PhoneGap应用程序,实际上我正在做一件非常类似的事情。它是一个单页javascript应用程序。以下是我使用的基本架构:

  • 所有页面更改都使用正常的
    标记完成。href是一个“有效的”href-“/stuff/things/”

  • 我有一个将URL正则表达式映射到控制器的对象。所以像
    /recipes/\d+?/
    这样的东西会捕获任何像/recipes/10/或/recipes/5/这样的url,并调用指定的控制器

  • 我将一个事件绑定到文档,用于检查链接单击,并使用我的各种正则表达式检查链接的href属性。如果存在匹配项,则会启动“页面更改”

  • pagechange函数使用
    history.pushState()
    更改URL,然后将预设数据对象传递给控制器。该数据对象的一部分是一个匿名的“完整”函数,一旦控制器完成了它的工作,它本身将使用该函数

  • 传递“complete”函数的原因通常是页面更改涉及异步活动,例如使用ajax查询数据库。它还允许我们将“页面更改”行为保留在代码的一个部分中,而控制器实际上只构建一个html块并将其附加到DOM中。此时控制器调用传入的complete()函数,pagechange函数完成其工作

  • 您可以在以下位置查看我的整个框架:


    这不是一个“真正的”MVC。因为我没有真正的模型或视图。视图是通过将数据对象与类似于mustachejs的HTML模板字符串合并来处理的,模型是通过对远程mongoDB的API调用来完成的。但我认为这是一种解决问题的好方法。

    这绝对是一种很好的简单方法,但我尝试使用javascriptMVC框架