0

我有这个。我想点击并使用backbone.js将点击的数据传输到另一个集合这可能吗?有任何想法吗?

define([
'jquery',
'underscore',
'backbone',
'model/item_model',
'model/cart_model',
'collection/item_collection',
'text!templates/items/itemlist.html'
],function($, _, Backbone, Item, Cart, ItemCollection, ItemListTemplate){

var ItemListView = Backbone.View.extend({
el: $("#mainContainer"),
events:{
    "click div.itemList" : "AddToCart"
},
initialize: function(){
  this.model = Item;
  this.collection = ItemCollection;
  this.collection.bind("reset", this.render );
},
render: function(){
  var data = {
    items: ItemCollection.models,
    item: Item
  }
  var compiledTemplate = _.template( ItemListTemplate , data);
  $("#itemContainer").html( compiledTemplate );
},
AddToCart:function(ev){
    //console.log("here");
    ev.preventDefault();
    var itemcode = $(ev.currentTarget);
    console.log(itemcode);
    //alert($(ev.currentTarget).text());
}
});
return new ItemListView;
 });

因此,由于我的点击事件启动,我想点击并将其转移到另一个集合。这可能吗?

4

1 回答 1

1

使用删除添加功能应该可以解决问题。一个基本的例子

var c1=new Backbone.Collection([{id:1},{id:2},{id:3}]);
var c2=new Backbone.Collection();
var m=c1.at(1);

c1.remove(m);
c2.add(m);

console.log(c1.pluck("id"));
console.log(c2.pluck("id"));
于 2012-03-27T08:35:08.887 回答