我正在使用Backbone和Laravel创建一个简单的应用程序来管理预订,我正在处理一个简单的表单来更新当前登录用户的用户数据。我想知道,是否有比我所做的更好、更有效的方法来使用表单中的输入数据更新您的模型?我在模型中创建了一个名为update的方法,该方法传递了一个表单的DOM对象。我认为这不是解决问题的最佳方法。任何帮助将不胜感激!varAccount=Backbone.Model.extend({url:"/settings/account",initialize:function(){},update:function(form){this.set({first_name:f
我有以下代码来为集合创建一个新模型。底层数据存储是一个远程API:varpostCreationStatus=this.model.create(newPostModel,{wait:true//waitsforservertorespondwith200beforeaddingnewlycreatedmodeltocollection},{success:function(resp){console.log('successcallback');console.log(resp);},error:function(err){console.log('errorcallback');c
我知道有很多关于此的问题,但我似乎无法让它工作:我需要从通过路由呈现的子组件访问“历史记录”。(它从redux容器接收Prop)。我需要将历史对象传递给在每个路由中呈现的组件,这样我就可以this.props.history.push('/route')在子组件中。这个应用程序以前不太动态,所以每个Route都用component={someComponent}硬编码;但我发现在动态执行路由时,您需要使用render={()=>}.从component={}更改路线后至render={()=>...}我在子组件中丢失了历史记录。我的代码是这样的:importReact,{Compone
我具有以下页面结构:Label1Label2............这是过于简单的View:varMyView=Backbone.View.extend({el:$('.listOfPosts'),initialize:function(){_.bindAll(this,"postClicked");},events:{"click.wcCheckbox":"postClicked"},postClicked:function(){alert("Gotaaclickinthebackbone!");}});问题:我想知道被点击的帖子的数据ID。使用简单的JQuery,我可以执行以下操作
我正在继承我自己的Backbone.View。如果,在父类(superclass)的初始化函数中,我写:_.bindAll(这个,'很多','方法');并指定我想绑定(bind)到此上下文的方法,我可以通过以下方式从子类调用super:this.constructor.__super__.initialize.apply(this,arguments);但是,如果在父类(superclass)中,我使用:_.bindAll(this)相反,当我从我的子类调用super时,this.constructor.__super__未定义。为什么会这样? 最佳答案
我可能在这里完全遗漏了一些东西,但我有以下内容:封装“所有”数据的模型(从一个URL加载的所有JSON)该模型有一个(或多个)集合,它正在使用构建时获得的数据进行实例化一些我想在数据初始化和加载时在集合上运行的代码我的问题是关于组合集合的。我可以在Collection的范围之外执行此操作,但我宁愿将其封装(否则将其作为带有初始化程序等的“类”有什么意义)。我想我可以将该代码放在initialize()函数中,但是它在填充模型之前运行,所以我无法访问构成集合(this.models为空)。然后我想我可以绑定(bind)一个事件,但是初始化后没有触发任何事件。如果我使用fetch从它自己的
Backbone.jsView可以有一个Model和一个Collection吗?我问的原因是因为我正在使用一个View,该View包含一张map,上面标有地点(使用传单库)。Collection是一组模型,其中包含要在map上绘制的坐标。Model包含map边界和map形状等内容。不知道还有什么办法可以解决这个问题......感谢任何帮助,谢谢! 最佳答案 是的,您可以像这样简单地传递它:newview({model:m,collection:c});在View中,您可以通过以下方式访问两者:this.modelthis.colle
我正在尝试为View绑定(bind)实现自定义集合事件。在我看来,我想做这样的事情:this.collection.on('available',this.available);并以某种方式在我的集合中触发此方法。假设我的集合中有一个方法可以设置特定的模型属性(可用),那么我如何才能触发绑定(bind)到该方法的所有View?这是否可能,并且能够将有问题的模型传递给View进行更新。提前感谢您的帮助,非常感谢:) 最佳答案 向Backbone添加新事件非常简单。您只需在要触发事件的对象上调用trigger方法。例如,假设您在集合的一
我试图动态更改路由器内的url,但无法做到,它一直返回到基本CollectionURL。在这里,我发布了包含3个不同集合的代码,除了指向三个不同的url之外,它们的作用完全相同。我只有一个model和三个依赖于该模型的collection,它们甚至呈现相同的View。我如何动态更改url以便我只能创建一个Collection和一个Model?对于这样的案例,这是最佳做法吗?//MODELS&COLLECTIONSwindow.Post=Backbone.Model.extend({urlRoot:function(){return'http://localhost:5000/json/
即使在Backbone.Marionette.ItemView的onRender方法中,我也无法访问元素。例如,我有:模板:`项目View:View=Backbone.Marionette.ItemView.extendtemplate:searchTemplateonRender:@setTypeahead['a','b','c','d']setTypeahead:(valueArray)->console.log$('#searchBox')$('#searchBox').typeaheadsource:valueArray意外地,记录到控制台的对象不包含输入元素。选择器不起作用。