nic*_*des 133 javascript forms model-view-controller
是否有任何客户端JavaScript MVC(微)框架?
我有一个相当复杂的HTML表单,它将受益于MVC模式.
我想一个好的解决方案将提供以下内容:
阿贾克斯,彗星,JSONP和所有爵士乐都是严重的矫枉过正.
Jus*_*yer 33
JavaScriptMVC是一个很好的解决方案.一切都是插件方法,您只能选择所需的功能.从2.0开始,它基于jQuery.
在逐步增强您的网站时,由于JMVC只为开发提供了一个中间层,这取决于用户 - 您可以自己做出这样的设计选择.
但是,JavaScriptMVC是最好的通用JavaScriptMVC库,因为它具有强大的基于事件委托的控制器.
通过事件委派,您可以避免附加事件处理程序,只需为页面创建规则即可.
最后,JMVC不仅仅是MVC架构.它包含了开发周期的所有部分:
Voj*_*jta 20
AngularJS与jQuery很好地配合使用,可以帮助你很多MVC结构和严格的关注点分离.
完整的测试环境和依赖注入包括......
Lar*_*rsi 14
我觉得这个看起来像你应该看看的东西:http://knockoutjs.com/
(作为一个silverlight/wpf程序员,这个库让我终于开始学习javascript.它基于模型 - 视图 - 视图 - 模型(MVVM)模式,对我来说现在看起来像是一个很好的选择!)
这三个功能使Ember成为一种乐趣:
使用绑定来保持两个不同对象之间的属性同步.您只需声明一次绑定,Ember将确保更改在任一方向传播.
以下是在两个对象之间创建绑定的方法:
MyApp.president = Ember.Object.create({
name: "Barack Obama"
});
MyApp.country = Ember.Object.create({
// Ending a property with 'Binding' tells Ember to
// create a binding to the presidentName property.
presidentNameBinding: 'MyApp.president.name'
});
MyApp.country.get('presidentName');
// "Barack Obama"
Run Code Online (Sandbox Code Playgroud)
绑定允许您使用MVC(模型 - 视图 - 控制器)模式构建应用程序,然后轻松地知道数据将始终在层与层之间正确地流动.
计算属性允许您将属性视为属性.计算属性很有用,因为它们可以使用绑定,就像任何其他属性一样.
Ember使用Handlebars,一个语义模板库.要从JavaScript应用程序中获取数据并将其放入DOM中,请创建一个标记并将其放入HTML中,无论您希望显示哪个值:
<script type="text/x-handlebars">
The President of the United States is {{MyApp.president.fullName}}.
</script>
Run Code Online (Sandbox Code Playgroud)
如果您的要求非常简单,您可以像Alex Netkachov那样编写自己的简单MVC .
他的例子是基于dojo构建的(注意:由于缺少dojo.js文件,它们在他的页面上不起作用),但你可以按照普通Javascript中的模式.