2014-10-05 3 views
0

Я использую плагин Backbone.Mutators.js js для переопределения setter и getter. Ниже приведена моя модельBackbonejs setter возвращает undefined

var BuyerModel = Backbone.Model.extend({ 
    mutators: { 
     fullName: { 
      get: function() { 
       return this.firstName + ' ' + this.lastName; 
      } 
     } 
    } 
}); 

Ниже приводится порядок установки и получения полного имени.

var buyerModel = new BuyerModel(); 

    buyerModel.set({ firstName: 'Joe', lastName: 'Bloggs' }); 

    console.log(buyerModel.get('fullName')); // returns undefined undefined 
    console.log(buyerModel.get('firstName')); // return Joe 
    console.log(buyerModel.get('lastName')); // returns Bloggs 

Почему FULLNAME возвращает неопределенное значение не определено и как это исправить?

+0

есть ли ошибки в консоли? установить точку останова на ваш метод get mutator и проверить, вызвана ли она и которая содержится в 'this' – aleha

ответ

1

Я не знаю, о мутаторах плагина, но казалось бы, что вам нужно изменить функцию

return this.get('firstName') + ' ' + this.get('lastName'); 

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

1

Атрибуты модели хранится в его attributes собственность, тем не прямые свойства, например, вы должны использовать метод get:

return this.get('firstName') + ' ' + this.get('lastName'); 
Смежные вопросы