Questions tagged «backbone.js»

Backbone.js是一个具有RESTful JSON接口的JavaScript框架,它基于模型-视图-呈现器(MVP)应用程序设计范例

5
为什么定义一个匿名函数并将jQuery作为参数传递给它?
我正在看ribs.js截屏视频中出色的peepcode演示代码。在其中,主干代码全部封装在传递给jQuery对象的匿名函数中: (function($) { // Backbone code in here })(jQuery); 在我自己的主干代码中,我将所有代码包装在jQuery DOM'ready'事件中: $(function(){ // Backbone code in here }); 第一种方法的目的/优势是什么?这样做会创建一个匿名函数,然后将其作为传递给函数参数的jQuery对象立即执行,从而有效地确保$是jQuery对象。这是唯一的观点-保证jQuery绑定到“ $”还是有其他原因呢?

5
使用REST删除多个记录
RESTful删除多个项目的方式是什么? 我的用例是我有一个Backbone Collection,其中我需要能够一次删除多个项目。选项似乎是: 为每条记录发送一个DELETE请求(如果可能有几十个项目,这似乎是个坏主意); 发送一个DELETE,将要删除的ID串在URL中(即“ / records / 1; 2; 3”); 通过非REST方式,发送包含ID标记为删除的自定义JSON对象。 所有选项都不理想。 这似乎是REST约定的灰色区域。
95 api  rest  backbone.js 

5
如何将参数传递给视图
我有一系列按钮,当单击它们时,将显示一个位于按钮正下方的弹出菜单。我想将按钮的位置传递给视图。我怎样才能做到这一点? ItemView = Backbone.View.extend({ tagName: 'li', events: { 'click': 'showMenu' }, initialize: function() { _.bindAll(this, 'render'); }, render: function() { return $(this.el).html(this.model.get('name')); }, showMenu: function() { var itemColl = new ItemColl(); new MenuView({collection: itemColl}); // how to pass the position of menu here? } });

7
如何在Backbone中获取单个模型?
我Clock在Backbone中有一个模型: var Clock = Backbone.Model.extend({}); 我正在尝试从中获取具有最新信息的实例/clocks/123。我尝试过的一些事情: “类”级别的方法 Clock.fetch(123) // TypeError: Object function (){ ... } has no method 'fetch' 创建一个实例,然后调用fetch它: c = new Clock({id: 123}) c.fetch() // Error: A 'url' property or function must be specified 集合 我尝试创建一个AllClocks集合资源(即使我在页面上没有用到这种东西): var AllClocks = Backbone.Collection.extend({ model: Clock, url: '/clocks/' }); var allClocks = …

6
如何保护REST API调用?
我正在开发一个宁静的Web应用程序,该应用程序在后端使用了一些流行的Web框架,例如(rails,sinatra,flask,express.js)。理想情况下,我想使用Backbone.js开发客户端。如何仅让我的javascript客户端与这些API调用进行交互?我不希望这些API调用是公开的,而不是通过curl浏览器上的链接输入或仅通过输入链接即可调用。

15
使用Backbone.js反向排序
使用Backbone.js,我可以使用比较器功能来设置集合。很好地对模型进行了排序,但是我想颠倒顺序。 如何对模型进行降序排序而不是升序排序?

1
保存Backbone.js模型数据的方法?
我更喜欢前端开发,并且最近开始在我的应用程序中探索Backbone.js。我想将模型数据保存到服务器。 您能否解释一下保存模型数据的各种方式(使用json格式)。我在服务器端使用Java。我也主要看到REST用于保存数据。由于我更喜欢​​前端开发人员,因此我不了解REST和其他类似内容。 如果有人可以用一些简单的例子向我解释这个过程,那就太好了。

8
在Backbone.js视图中动态设置id和className
我正在学习和使用Backbone.js。 我有一个Item模型和一个对应的Item视图。每个模型实例都有item_class和item_id属性,我希望将它们反映为对应视图的'id'和'class'属性。什么是实现此目标的正确方法? 例: var ItemModel = Backbone.Model.extend({ }); var item1 = new ItemModel({item_class: "nice", item_id: "id1"}); var item2 = new ItemModel({item_class: "sad", item_id: "id2"}); var ItemView = Backbone.View.extend({ }); 我应该如何实现视图,以便视图“ el”将转换为: <div id="id1" class="nice"></div> <div id="id2" class="sad"> </div> 在我看到的大多数示例中,视图的el充当无意义的包装器元素,在其中必须手动编写“语义”代码。 var ItemView = Backbone.View.extend({ tagName: "div", // I know it's the …

3
需要来自Underscore.js的_.bindAll()函数的解释
我一直在学习一些ribs.js,并且已经看到很多使用实例_.bindAll()。我已经通读了整张骨架.js和underscore.js文档页面,以试图了解它的功能,但是对于它的功能我仍然很模糊。这是下划线的说明: _.bindAll(object, [*methodNames]) 在方法名称上指定的对象上绑定许多方法,以便在调用它们时在该对象的上下文中运行。对于将用作事件处理程序的绑定函数非常方便,否则将使用相当无用的this来调用它们。如果未提供methodNames,则该对象的所有函数属性都将绑定到它。 var buttonView = { label : 'underscore', onClick : function(){ alert('clicked: ' + this.label); }, onHover : function(){ console.log('hovering: ' + this.label); } }; _.bindAll(buttonView); jQuery('#underscore_button').bind('click', buttonView.onClick); => When the button is clicked, this.label will have the correct value... 如果您可以在此举另一个例子或一些口头解释来帮助您,那么您将不胜感激。我尝试搜索更多的教程或示例,但没有找到可以满足我需要的内容。大多数人似乎只知道它会自动执行...

7
在Javascript中,下划线是什么意思?
var Gallery = Backbone.Controller.extend({ _index: null, _photos: null, _album :null, _subalbums:null, _subphotos:null, _data:null, _photosview:null, _currentsub:null, routes: { "": "index", "subalbum/:id": "subindex", "subalbum/:id/" : "directphoto", "subalbum/:id/:num" : "hashphoto" }, initialize: function(options) { var ws = this; if (this._index === null){ $.ajax({ url: 'data/album1.json', dataType: 'json', data: {}, success: function(data) { ws._data …

3
Webpack ProvidePlugin与外部?
我正在探索将Webpack与Backbone.js结合使用的想法。 我遵循了快速入门指南,对Webpack的工作原理有一个大致的了解,但是我不清楚如何加载依赖库,例如jquery / boneer / underscore。 它们应该从外部加载<script>还是Webpack可以像RequireJS的shim一样处理? 按照的WebPack DOC:垫补模块,ProvidePlugin并且externals似乎与此有关(因此是bundle!装载机的地方),但我不能想出什么时候使用。 谢谢

7
Backbone.js:重新填充还是重新创建视图?
在我的Web应用程序中,我在左侧的表格中有一个用户列表,在右侧的用户详细信息窗格中。管理员单击表中的用户时,其详细信息应显示在右侧。 我在左侧有一个UserListView和UserRowView,在右侧有一个UserDetailView。事情工作正常,但我的行为很奇怪。如果我单击左侧的一些用户,然后在其中之一上单击“删除”,则将为显示的所有用户连续显示javascript确认框。 似乎所有先前显示的视图的事件绑定都没有被删除,这似乎很正常。我不应该每次在UserRowView上都做一个新的UserDetailView吗?我应该维护视图并更改其参考模型吗?我应该跟踪当前视图并在创建新视图之前将其删除吗?我有点迷茫,任何想法都会受到欢迎。谢谢 ! 这是左视图的代码(行显示,单击事件,右视图创建) window.UserRowView = Backbone.View.extend({ tagName : "tr", events : { "click" : "click", }, render : function() { $(this.el).html(ich.bbViewUserTr(this.model.toJSON())); return this; }, click : function() { var view = new UserDetailView({model:this.model}) view.render() } }) 以及用于右视图的代码(删除按钮) window.UserDetailView = Backbone.View.extend({ el : $("#bbBoxUserDetail"), events : { "click .delete" …

7
销毁或删除Backbone.js中的视图
我目前正在尝试为视图实现destroy / remove方法,但无法获得通用的解决方案以对所有视图起作用。 我希望会有一个事件附加到控制器,以便当有新请求通过时,它会破坏先前的视图,然后加载新的视图。 有什么方法可以做到,而不必为每个视图构建删除功能?

4
Backbone.js和jQuery
据说Backbone处理所有更高级别的抽象,而jQuery或类似的库则与DOM一起使用,对事件进行规范化等。 有人可以通过任何简单的实际示例来帮助我理解此声明。 Knockout也是MVC框架(如Backbone)的一项重要功能,即保持模型(数据)和视图同步。但这似乎是页面级别的特定内容,而不是整个应用程序的特定内容。因此,我们可以在多个页面之间同步模型/数据和视图吗。

11
“如何”将整个集合保存在Backbone.js-Backbone.sync或jQuery.ajax中?
我很清楚这是可以做到的,并且我已经研究了很多地方(包括:保存整个收藏集的最佳实践?)。但是我仍然不清楚它到底是用代码编写的吗?(该帖子以英语进行了解释。最好有一个JavaScript特定的解释:) 假设我有一个模型集合-模型本身可能具有嵌套集合。我已经覆盖了父集合的toJSON()方法,并且得到了一个有效的JSON对象。我希望“保存”整个集合(对应的JSON),但是主干似乎并没有内置该功能。 var MyCollection = Backbone.Collection.extend({ model:MyModel, //something to save? save: function() { //what to write here? } }); 我知道您必须在某处说: Backbone.sync = function(method, model, options){ /* * What goes in here?? If at all anything needs to be done? * Where to declare this in the program? And how is …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.