我想修改Odoo8中的一段JS代码(模块point_of_sale)。原代码是这样的:functionopenerp_pos_models(instance,module){...module.Order=Backbone.Model.extend({...addPaymentline:function(cashregister){varpaymentLines=this.get('paymentLines');varnewPaymentline=newmodule.Paymentline({},{cashregister:cashregister,pos:this.pos});if(
我有一个集合需要将一些数据发布到它的url以获取它需要的数据。这两个问题的答案,FetchacollectionusingaPOSTrequest?和Overridingfetch()methodinbackbonemodel,让它看起来像我应该能够让它像这样工作:fetch:function(options){this.constructor.__super__.fetch.apply(this,_.extend(options,{data:{whatever:42},type:'POST'}));},但Firebug仍然向我显示404错误,这是因为正在针对有问题的url执行GET(
我对Backbone.js比较陌生。我正在初始化一个CollectionView并在创建时传入一个集合。suggestionsView=newTreeCategoriesAutoSuggest.Views.Suggestions({collection:newApp.Collections.Suggestions(this.getSuggestions(query))});然后我渲染CollectionView。每次用户在文本框中输入查询时,都会重新生成集合并使用以下方法将其分配给CollectionView:suggestionsView.collection.set(this.ge
我是Backbone的新手,如果这个问题有点明显,请原谅。我在处理模型内部的集合时遇到问题。当集合更改时,它不会注册为模型中的更改(并且不会保存)。我的模型是这样设置的:varArticle=Backbone.Model.extend({defaults:{"emsID":$('html').attr('id')},initialize:function(){this.tags=newApp.Collections.Tags();},url:'/editorial_dev.php/api/1/article/persist.json'});如果我更新标签集合并手动保存模型,这会很好地工
我的ViewTuneBook有几个ClosedTune类型的subview。OpenTune,我还为每首曲子提供了单独的完整页面浏览量。相同的事件绑定(bind)在ClosedTune和OpenTune中,因此我设计了我的应用程序,使它们都继承自共享的“抽象”ViewTune.为了使我的应用程序更具可扩展性,我希望将每个ClosedTune的事件委托(delegate)给TuneBook,但为了可维护性,我希望使用相同的处理程序(存储的那些在Tune中)以供TuneBook使用(尽管它们显然需要包含在某些函数中)。我遇到的问题是,在TuneBook中,找到正确的ClosedTune来调
在Backbone路由器上监听方法调用时遇到问题,以确保它在给定路由上调用正确的方法。测试摘录describe'Router',->beforeEach->@router=newApp.Router()Backbone.history.start()afterEach->Backbone.history.stop()describe'routes',->it'shouldbedefined',->expect(@router.routes).toBeDefined()describe'defaultroute',->it'shouldbedefined',->expect(@route
我有一个Backbone.js集合,我有一个模型ID数组,我想填充它。我知道我可以一个一个地获取这些对象,构建一个对象数组并将它们作为数组传递给Collection的构造函数。我想做的是将对象ID数组作为初始数据传递到构造函数中,并让Collection获取它们,可能是按照this进行的。.可行吗? 最佳答案 当您在Backbone.Collection上调用“fetch”时,它会依次调用Backbone.sync,默认情况下它只向集合询问要使用的url。因此,如果您的服务器响应:/models/batch/?ids=1,2,3,4
Backbone.js在后台处理将数据发布到服务器,因此没有简单的方法在有效负载中插入CSRFtoken。在这种情况下,我该如何保护我的网站免受CSRF攻击?在这个SO答案中:https://stackoverflow.com/a/10386412/954376,建议验证x-Requested-Byheader是否为XMLHTTPRequest。这足以阻止所有CSRF尝试吗?在Django文档中,建议在每个AJAX请求的另一个自定义header中添加CSRFtoken:https://docs.djangoproject.com/en/1.5/ref/contrib/csrf/#aja
我正在玩Backbone.js和Backbone.Marionette我想知道trigger和触发方法。特别是,是否有任何经验法则来决定何时使用前者或后者?例如,在我看来,事件对于DOM元素与其View之间的通信很有用。triggerMethod在Marionette中用于更新级联不同的组件,例如布局调用show方法给它的子元素(子元素响应onShow)。所以,对我来说,这与在其上调用直接方法相同。这是真的吗?触发器呢?提前致谢。 最佳答案 没有太大的区别,这只是取决于你想做什么......trigger会触发一个事件trigger
我有两种观点,为了简单起见,parent/child。child正在使用触发器抛出一个事件。我没有在parent的处理程序中看到它。以下是否有效?varparent=Backbone.View.extend({events:{"childevent":"run"},run:function(e){console.log(e);},render:function(){/*renderthechildhere*/}});varchild=Backbone.View.extend({someAction:function(){this.trigger('childevent');}});