草庐IT

Backbone

全部标签

javascript - Backbone.js:如何在模型删除时解除事件绑定(bind)

在backbone中,我们有一个使用事件聚合器的应用程序,位于window.App.Events现在,在许多View中,我们绑定(bind)到那个聚合器,我在View上手动编写了一个destroy函数,它处理从那个事件聚合器解除绑定(bind),然后删除View。(而不是直接删除View)。现在,有些模型我们也需要此功能,但我不知道如何解决它。某些模型需要绑定(bind)到某些事件,但也许我错了,但如果我们从集合中删除一个模型,它会保留在内存中,因为这些与事件聚合器的绑定(bind)仍然存在。模型上并没有真正的删除功能,就像View一样。那我该如何解决呢?编辑根据要求,一些代码示例。A

javascript - 如何在不指定哪些属性但使用回调的情况下使用 backbone.js 进行保存

我想将更改后的模型保存到数据库(之前设置)。如果保存成功重定向到另一个页面(例如,可以是任何其他操作)。Model.save可以有两个可选属性。第一个是属性的散列,第二个是选项(比如成功和错误回调)。http://backbonejs.org/#Model-savesomemodel.set({foo:'bar'});//lotsofotherlogicandmiscstepstheuserhastodosomemodel.save();//onsuccessshouldgohere既然属性已经设置好,我只需要回调即可。过去我做过:somemodel.save(somemodel.to

javascript - Backbone Marionette : Add header to collection view

使用Backbone.Marionette,我想呈现一个项目集合以及一个标题。我知道Marionette.CollectionView没有模板,因为它只呈现ItemView。我目前正在使用Marionette.LayoutView,但必须为“列表”区域定义一个额外的DOM元素。还有其他方法吗?可能没有额外的DOM元素?也许我可以为这个特定区域更改open()?当前结果:Featured期望的结果:ListNameItem1Item2Item3渲染代码:varcol=newLCollection([{name:"foo"},{name:"bar"}]);//Definedearlier,

javascript - 处理 Backbone 中不可保存的值

有没有标准的方法来处理Backbone中不可保存的值。例如MyModel=Backbone.extend(Backbone.Model,{initialize:function(){this.set({'inches':this.get('mm')/25});}})如果我在这个模型上调用save()它将抛出一个错误,因为没有与inches对应的数据库字段。我可以想出几种方法来解决这个问题,但我想知道是否有一种经过实践检验的方法通常最适合用于此问题?目前我的首选解决方案是扩展Backbone的toJSON方法并允许传递bool参数dontCleanup以允许它仍然返回所有模型的值(包括不

javascript - 将 JSON 映射到 backbone.js 集合

好吧,看来我需要一个提示来指明正确的方向。这个问题分为两部分-使用多维JSON和来自JSON的集合的集合。背景我有一些JSON将从服务器检索并控制它的格式。多维JSON我在将模型连接到JSON中的部分时遇到了一些问题。假设我只想在下面的示例JSON中呈现每篇文章的作者姓名和状态的内容。我在将状态输入到模型中没有问题,但我对如何获取作者姓名有点困惑。根据我的理解,我必须重写解析。这是糟糕的标准吗/我应该使用更好的JSON结构吗?尽可能保持平坦会更好吗?那就是把作者姓名和照片上移一级?我正在阅读HowtobuildaCollection/ModelfromnestedJSONwithBac

javascript - 带通配符的 Backbone 事件

有没有办法监听命名空间的所有事件。所以当我听到这样的事件时:app.vent.on('notification(:id)',function(type){console.lof(type)})它将像这样监听所有事件:app.vent.trigger('notification:info')app.vent.trigger('notification:error')app.vent.trigger('notification:success') 最佳答案 没有。Backbone通常会触发一般的eventName事件,以及eventNa

javascript - 用于 Backbone.js 的 Visual Studio Intellisense

Backbone.js有-vsdoc.js文件吗?如果没有,对于Backbone.jsjavascript库的智能感知是否有可行的变通方法? 最佳答案 我不认为有vsdoc。无法在nuget中找到它,一些搜索也没有找到它。另一种方法可能是像引用vsdoc文件一样引用非缩小版本。这可能是您的函数列表,也可能是参数名称。如果你有一些好的JS工具(其中很多在ExtensionsManager中),或者你有Resharper6.0,你可以去函数的定义左右并阅读其中的注释(非缩小的版本有注释,但不是vsdoc格式)。更新:一些常用的引用代码,

javascript - 如何调用父主干同步方法

在我的应用程序中,我按如下方式覆盖了Backbone.sync:Backbone.sync=function(method,model,options){//Somecustomcode//THISFAILS.Backbone.prototype.sync.call(this,method,model,options);}}我的问题是,如何调用原始同步方法?我需要改用this.sync吗? 最佳答案 据我了解,Backbone.sync检查是否存在本地定义的同步版本,并在调用全局Backbone.sync之前调用它:(this.sy

javascript - 在 Backbone 和 Requirejs 中使用 jQuery 插件

我正在使用backbone+requirejs+jquery,我在当前的html页面(确切地说是backbonehtml模板)中加载jquery插件时遇到问题。有我需要的配置:require.config({paths:{//...somecodeaboutbackboneconfigjquery:'/js/lib/jquery/jquery.min','jquery.camera':'/js/jquery/jquery.camera'},shim:{//...somecodeaboutbackboneconfig'jquery.camera':['jquery']}});在我的布局h

javascript - Backbone 中绑定(bind)和打开之间的区别

Backbone.js中的bind()和on()方法有什么区别on()的文档:Onmethoddocumentationatbackbone.jsbind()的文档:Bindmethoddocumentationatunderscore.js应该使用两者中的哪一个来绑定(bind)对象的自定义事件?使用示例:this.bind('myEvent',this.render,this);this.on('myEvent',this.render,this); 最佳答案 this.bind('myEvent',this.render,th