2013-02-27 3 views

ответ

0

Если я прав, a скажет, что вы хотите удалить какой-либо элемент из коллекции, нажав кнопку.

Таким образом, мы имеем вид т.п.н.:

var viewModel = kb.ViewModel.extend({ 
    constructor: function(model, options) { 
     var self = this 
     this.delete= function(){ 

      self.coll.delete(self) 
     } 
     this.coll = options.coll 
     this.name = kb.Observable(model, {key: 'name'}) 

    } 
}); 

var yourCollection = new Backbone.Collection(); 
var yourModel = new Backbone.Model({name: 'Stefan'}); 
var yourKBView = new viewModel (yourModel, {coll: yourCollection}); 

Это простой способ сохранить некоторую вложенную информацию.

Когда вы сделаете это автоматически при добавлении модели в коллекцию, вы можете переопределить функцию создания вида, как это.

var collectionViewModel = kb.ViewModel.extend({ 
     constructor: function(collection, options) { 
      var self = this 
      this.coll= kb.collectionObservable(collection, { 
       /** 
       * Calls by adding a model to the collcetion 
       * @param model - 
       * @param options - 
       * 
       */ 
      create: function(model, options){ 
       var options = options || {} 
       options.coll = self  
       return new viewModel(model,options) 
      } 
     }); 
    } 
}); 
Смежные вопросы