我正在使用Backbone.js(版本0.5.3)并且在savingamodel时遇到了一些成功回调的问题。.它没有运行,即使模型已成功保存在服务器上。CoffeeScript:console.log'inswitch_private'console.log"private_entryattributeiscurrently#{@model.get('private_entry')}"@model.save{'private_entry':true},success:->console.log'insuccess'已编译的Javascript:console.log('inswitch
我开始构建一个新的应用程序,我想使用Backbone作为我的框架。下面是这个(和大多数应用程序)遵循的基本工作流程。与Backbone一起使用的正确/最佳模型是什么?老办法用户导航到一个页面。选择“创建新小部件”向用户呈现一个填满输入的表单此时我可能会获取输入的值(在通过基本验证后),将它们打包并通过ajax请求将它们发送到服务器请求返回为“OK”并且用户被带到其他地方(这一步并不完全重要)一些基本的伪代码//GrabvaluesvaruserName=$('.UserName').val(),dateOfBirth=$('.DateOfBirth').val();.........$
我正在尝试在集合的开头呈现一个项目(想象一下,如果您在facebook上发布了一条新记录)当我来add(response,{at:0});到集合中,记录在0处正确插入到集合中,但呈现在项目列表的底部。我很困惑,因为我以前有这个工作,但我认为我在做的是一种hacky风格,只是重置并重新渲染集合。我想知道处理这个问题的简洁方法是什么,我应该在哪里绑定(bind)逻辑。是在集合的add方法上吗?目前这是空的(但我正在使用Marionette),我觉得这会覆盖backbone的默认渲染。我如何再次控制它,以便我可以正确地将我的新项目添加到列表中,而无需全部销毁并重新创建它。
根据官方文档,当我做这样的事情时:collection.fetch({update:true,remove:false})我为每个新模型获得一个“添加”事件,为每个已更改的现有模型获得一个“更改”事件,但没有删除任何内容。为什么如果我调用静态数据源(集合的url总是返回相同的json),则为收到的每个项目调用添加事件?这里有一些代码(我没有渲染任何东西,我只是在调试):ExampleRefresh这是JS(function($){//TwitterModelModelsTwitt=Backbone.Model.extend({});//TwitterCollectionCollecti
刚接触Backbone,请多多包涵我不太漂亮的backbonejavascript代码。这是我的代码varSchedule=Backbone.Model.extend({initialize:function(){console.log("initializingmodel");}});varScheduleCollection=Backbone.Collection.extend({model:Schedule,url:"",parse:function(resp){returnresp;},});varSchedules=Backbone.View.extend({initiali
Backbone.js提供模型验证。但是没有一种简单的方法来检查集合中的所有模型是否有效。集合没有.isValid属性。我使用这样的hack:_.isEmpty(_.filter(myCollection.models,function(m){returnm.validationError;}))是否有更优化的方法来“验证”集合? 最佳答案 使用some怎么样?方法?varhasErrors=_.some(myCollection.models,function(m){returnm.validationError;});
我有一个简单的应用程序,它定义了两个类,Person和PersonGroup,其中存在多对多关系。一个人可以没有组,也可以分配给所有组,以及介于两者之间的任何组。backbonerelational.org上的示例建议对多对多关系使用中间模型,但是我无法让这种模式与获取(反序列化)和保存(序列化)一起使用。我想做的是使用Backbone反序列化类似于以下的JSON:{People:[{"ID":1,"Name":"John"},{"ID":2,"Name":"Bob"},{"ID":3,"Name":"Tim"},],PeopleGroups:[{"ID":1,"Name":"Owne
我正在使用browserify创建Node应用程序以模块化前端代码。不幸的是,我无法让Backbone工作,因为它抛出了这个错误:UncaughtTypeError:Property'$'ofobject#isnotafunctionjQuery在此脚本之前加载:var_=require('underscore'),Backbone=require('backbone');//Here,jQueryworksfine.$(function(){Backbone.history.start();});使用browserify时,Backbone似乎找不到jQuery。
我有一个名为MainControllerView的自包含的Backbone.View实现,它可以自行处理(即,没有理由对其进行外部引用。)。如果,在我的主要Bootstrap函数中,我像这样开始:$(function(){newMainControllerView();});JSLint/JSHint提示我正在使用“newforsideeffects”。阅读这个警告表明上面的代码被认为是臭代码。替代方案是根本不使用new并仅将构造函数作为函数调用,或者将其分配给变量。但是,不使用new直接将我的MainControllerView()作为函数调用会在主干代码中引发错误,因此这显然不是一
我正在寻找一些与Backbone.js等MVC框架一起使用的优秀模板系统我知道一个这样的系统(jQuery模板)。但是,由于某些原因,该产品已停产,因此我正在寻找其他一些不错的选择。请从View的Angular提出足够灵活的建议。(例如,具有基于某种逻辑的启用/禁用按钮的动态View、基于某种逻辑的具有不同样式的表格数据等) 最佳答案 我真的很喜欢Handlebars.js...这是一些JavaScript...varHandlebarsView=Backbone.View.extend({el:'#result'initializ