如果您使用Backbone.js或Spine.js,您应该将MVC用于视图的所有动态部分,还是仅使用更复杂的部分?

时间:2012-05-14 22:59:30

标签: javascript backbone.js spine.js

我刚刚开始使用Spine.js。我喜欢。

但有时我只需要对后端进行简单的调用就可以获得JSON数据,例如,一个导航栏在填充后不会改变。在这里,当我可以使用简单的jQuery调用并将JSON响应推送到模板并将结果注入DOM时,使前端模型和控制器看起来有点矫枉过正。

这种混合方法是否有任何缺点,其中一些视图由JavaScript MVC管理,而其他视图只是通过简单的jQuery Ajax代码注入?

3 个答案:

答案 0 :(得分:1)

MVC背后的全部理念是关注点的分离。模型处理数据,视图处理显示,控制器处理流程,在某些情况下处理业务逻辑。当然,你可以轻松地在你的视图中进行jQuery调用;毕竟,JavaScript是开放的,只要你能获得参考,你就可以自由地做你想做的事。但这样做可以打败这种模式,混淆你的观点扮演的角色。总而言之,如果你采用设计模式,坚持下去。它将使您的应用程序在几个月甚至几年后的管理变得更加容易,因为您不必考虑组件的角色。

答案 1 :(得分:0)

我说你应该为所有人做这件事。

我认为你的选择不应该是这样做的困难,如果你建立一个标准,坚持下去。这样做通常可以节省时间。

答案 2 :(得分:0)

那么,在面对一次性注入JS时,我总是会问的第一个问题是,这首先是不应该在后端发生。

至于一致性问题,如果以“错误”的方式做很少的努力,请继续看看会发生什么。如果需要的话,以后更改它并不是一件大事,我真的不明白为什么你为了保持一致而为你的应用程序节省时间和/或不必要的开销。

重要的是,你明确表示你没有通过代码中的MVC方法处理下一个dev。但在一天结束时,该工具可以帮助您,而不是阻碍您。我们都在关注css,html和JavaScript的问题分离方面做了一些例外。重要的是要了解规则的真正价值,这样你才能知道当你破坏规则时的权衡。在这种情况下,我看不到多少。