让我们说我在backbonejs模板上设置了一些条件:
<% if(model.get(attribute) === true) { %>
display X
<% } else { %>
display Y
<% { %>
所有这些数据来自一个json文件,其中不同的对象进入我的模板显示为_.each()...所以,在一些前端交互后,我设置了类似的东西。
myCollection.collection.at(0).set('attribute', false);
所以问题是......我可以将前端改为&#34;显示Y&#34;没有重新加载页面或调用控制器???
任何帮助都将不胜感激。
先谢谢。
更新
我的观点如下:
myView = Backbone.View.extend({
el: '.main',
render : function() {
template = _.template($('#myTemaplte').html(), { models : this.collection.models });
this.$el.html(template);
}
});
var theCollection = new Collections.myCollection;
theCollection.fetch({
success: function (data) {
myList = new myView({collection : theCollection});
}
});
和json文件看起来像:
data [
{
"atribute" : false
},
{
"atribute" : true
},
{
"atribute" : false
},
]
答案 0 :(得分:0)
试试这个
myView = Backbone.View.extend({
el: '.main',
initalize : function(){
this.listenTo(this.collection,'change',this.render);
},
render : function() {
template = _.template($('#myTemaplte').html(), { models : this.collection.models });
this.$el.html(template);
}
});