我有一点问题,我不确定我是不是理解它,或者我想做的事情是不可能的。我有一个数据库加载文本,简单的计划文本在两个 不同的页面,家庭和约。
现在我要做的是使用带有Underscore.JS模板的Backbone.JS将此数据/文本加载到可编辑的div(contenteditable set为true)中。
var TextView = Backbone.View.extend({
el: $(".Loader"), //Template loader placeholder
render: function() {
var that = this;
var AboutTxt = new AboutCollection(); //Get About page text
var HomeTxt = new HomeCollection(); //Get Home page text
AboutTxt.fetch({
success: function(AboutTxt) {
var BasicTxt = _.template( $('script.BasicText').html(), { AboutTxt: AboutTxt.toJSON() } ); //Load About text into template
that.$el.html(BasicTxt)
}
});
} //End of render view function
});
所以我的主要问题是,我可以将多个Collection加载到View中,还是应该/可以将多个URL加载到Collection中?
我收集的每个集合都指向一个不同的URL,它使PHP将我的数据库数据JSON编码返回到Backbone。
那么什么是最好的方法或者这样做,还是我完全误解了它?
由于
非常欢迎所有人的帮助。
更新
这些是我的收藏
var HomeCollection = Backbone.Collection.extend({
url: 'BasicText/home'
});
var AboutCollection = Backbone.Collection.extend({
url: '/BasicText/about'
});
我当前没有设置任何模型,但我知道这有效,如果我设置视图以使用这些集合中的每一个。我的目标是只使用一个View来加载这两个集合。那么一个Collection有两个URL来获取JSON编码的数据库数据?
感谢。
答案 0 :(得分:1)
var Model = Backbone.Model.extend({
urlRoot: './url_to_json',
initialize: function() {
this.about = new collection();
this.about.url = urlRoot + '/about';
}
}),
Collection = Backbone.Collection.extend({
model: Model,
url: './url_to_json'
})
希望这能帮到你