gpt4 book ai didi

javascript - BackboneJS如何在View中使用参数

转载 作者:行者123 更新时间:2023-12-03 10:42:52 24 4
gpt4 key购买 nike

我有一个 Backbone Collection,它返回给定数量的模型,现在我有一个“加载更多”按钮,应该加载更多模型。加载的集合基于参数。我的问题是,当加载 Collection 时,在 Views initialize 函数中,我能够获取 Collection 所基于的参数。不过,我的“loadMore”函数需要这个参数。所以,我的问题是,如何将参数从 initialize 函数传递到另一个函数?

这是我到目前为止得到的:

MyStuff.Collection = Backbone.Collection.extend({           
url: 'someUrl',
initialize: function(opts) {
opts = opts || {};
this.value= opts.value;
},
step: 0,
parse: function(response){
var slice = response.results.slice(this.step*8,(this.step+1)*8);
this.step++;
return slice;
}
});

MyStuff.View= Backbone.View.extend({
template: 'myTemplate',
initialize: function() {
this.currentPage = 0;
this.listenTo(this.collection, 'sync', this.hideLoader);
this.listenTo(this.collection, 'reset', this.afterRender);
this.collection.reset(this.collection.shuffle(), {silent:true});
var suit = this.collection.toJSON()[0]; // HERE I GET MY VALUE!!
},
events: {
'click .loadMore': 'loadMore'
}

loadMore: function(opts){
this.showLoader();
this.currentPage++;
this.collection.fetch({url: this.collection.url + '?page='+ this.currentPage + '&value=' // HERE I NEED MY VALUE!!!! //, remove: false});
this.collection.fetch({remove: false});
this.render();
}
});

return MyStuff;

最佳答案

this.suit = this.collection.toJSON()[0].nameOfYourKey;

'&value=' + this.suit

您可以访问放置在 this 上的内容,这是您的 View 实例指针。

关于javascript - BackboneJS如何在View中使用参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28697381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com