Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
backbone.js解决了什么问题?_Backbone.js - Fatal编程技术网

backbone.js解决了什么问题?

backbone.js解决了什么问题?,backbone.js,Backbone.js,当我浏览backbone.js网站时,我不知道它想做什么 它似乎有点流行,但我为什么要学它呢?这对我有什么好处?为什么要做?它解决了什么问题?我发现这个问题非常有效,从我的角度来看,询问库/工具包的潜在用例没有什么错 Backbone.js所做的(其他几个javascript mvc实现也是如此)是,它提供了一种将代码组织成称为mvc模式的模块化模式的方法,该模式将代码分为三个松散耦合的层: 纯处理数据和相关操作的模型层 视图层是表示方面 控制器层是粘合胶层 (不同的框架对此有不同的处理方式

当我浏览backbone.js网站时,我不知道它想做什么


它似乎有点流行,但我为什么要学它呢?这对我有什么好处?为什么要做?它解决了什么问题?

我发现这个问题非常有效,从我的角度来看,询问库/工具包的潜在用例没有什么错

Backbone.js所做的(其他几个javascript mvc实现也是如此)是,它提供了一种将代码组织成称为mvc模式的模块化模式的方法,该模式将代码分为三个松散耦合的层:

  • 纯处理数据和相关操作的模型层
  • 视图层是表示方面
  • 控制器层是粘合胶层
(不同的框架对此有不同的处理方式:控制器层的主干实现包括客户端路由功能)

因此,总的来说,主干网为您提供了一个基础设施,您可以使用该基础设施通过包含封装在其中的数据和相关验证的模型来处理数据,也就是说,您可以将事件绑定到更改事件


视图层主要留给用户将ui划分为可管理的独立部分。

以下是主干网在JS/HTML空间中为我解决的一些问题:

  • (SoC)
这并不是说这是唯一一个这样做的系统。还有其他的。不过,主干网在帮助解决这些问题方面做得相当不错。

来自backbonejs.org

创建最终成为 错综复杂的jQuery选择器和回调

这正是主干网所做的,一系列关于模型更改的回调和用于绑定事件的jQuery选择器


因此,为了回答这个问题,它没有解决任何问题,只是提供了一种构造代码的方式(主干方式),在其他方面略微自动化。

假设您在页面上的十个不同位置显示某人的化身,其中一个位置更改了化身,主干网将把这一变化广播到其他关心此事的地方,以便事情再次同步。数据/模型事件是我看到的最大好处。投票通过了。嗯,为什么不把它写进一个答案呢?为什么要投票关闭呢?这不是为了嘲弄它或其他什么。我希望了解主干并用它来解释它的意义的人。用这个问题的答案来证明主干毫无意义()是非常值得怀疑的。你问了一个宽泛的问题,所以你得到了宽泛的答案。通常情况下,我支持广泛的问题,但是你给了问题收信人更多的支持。哇,我在写了问题并收到了答案很久之后就发表了这样的评论。我问这个问题并不是故意让它听起来毫无意义。请给出上面提到的每一件事情的例子?在我看来,主干视图仍然有点像jQuery(或类似的)DOM操作。我目前正试图找到一种将主干模型和集合与数据绑定相结合的方法,在我看来,这是一种更具声明性的方法来描述DOM更改的好例子。我已经发现了,但是文档是混乱的和稀缺的,我害怕承诺使用三种不同的框架作为基础。忘记主干、击倒、击退和几乎所有的框架吧,bar AngularJS。一个框架,包括大多数基础,自动加载html部分,用于数据绑定的普通js对象。不需要创建奇怪的可观察对象和可观察数组,在一个实例中,您通过将其作为函数调用来获取值,在另一个实例中,您将其作为对象属性引用。AngularJS非常容易,一旦您完成了最初的学习过程,它为您的代码提供了良好的结构,并且对后端是/应该是什么没有任何意见。一般来说,我不喜欢JS框架,但Angular真的很好。这一点很公平。Angular看起来有很多我喜欢的关于框架的部分。不幸的是,我目前正在开发的应用程序中有10%的用户仍然使用IE8,而且用户数量下降非常缓慢。据我所知,Angular中的非ES5浏览器支持早就停止了。使用敲除插件,您可以将库增强相当数量。Knockout-punchs为您提供了
{{expressions}和| filters:woo}}
,Knockout-ES5可以防止您通过将值作为函数调用来获取值,但是这仅在支持
defineProperty
且不可填充的浏览器中受支持。Angular 1.2.x完全支持IE8,请使用
$sceProvider.enabled(false)如果在IE8上运行会抛出错误。您可能无法使用Angular 1.3,但1.2现在是并且将继续优于其他所有工具。