2012-03-27 29 views
0

我有這個。我想單擊並使用backbone.js將點擊的數據傳輸到另一個集合這可能嗎?有任何想法嗎?點擊並轉移到另一個收藏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; 
}); 

所以,因爲我有我的點擊事件啓動我想點擊並將其轉移到另一個集合。這可能嗎?

回答

1

使用removeadd函數應該有所斬斷。一個基本的例子

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")); 
+0

如果我不想從c1中採摘,而是如果用戶將相同的數據從c1添加到c2,它應該更新另一個字段,如Qty。我將如何更新一個屬性?我總是得到一個未定義的錯誤。 – jongbanaag 2012-03-27 09:15:13

+0

我該如何強制它與後端服務器同步?我發現添加應該被創建替換,但我找不到如何強制刪除以觸發DELETE REST調用。 – 2013-01-30 11:54:26

+1

@GuyKorland http://backbonejs.org/#Model-destroy – nikoshr 2013-01-30 11:59:39

相關問題