模型更改和更改模板数据时的触发器和事件,Backbone Js

时间:2014-09-23 17:16:23

标签: backbone.js

让我们说我在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
  },
 ]

1 个答案:

答案 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);
         }
     });