Mam proste pytanie dotyczące funkcji pobierania i ustawiania Backbone.js .
1) Za pomocą poniższego kodu, w jaki sposób mogę bezpośrednio „pobrać” lub „ustawić” obj1.myAttribute1?
Inne pytanie:
2) W modelu, oprócz obiektu defaults , gdzie mogę / powinienem zadeklarować inne atrybuty mojego modelu, tak aby można było uzyskać do nich dostęp za pośrednictwem metod get and set Backbone?
var MyModel = Backbone.Model.extend({
defaults: {
obj1 : {
"myAttribute1" : false,
"myAttribute2" : true,
}
}
})
var MyView = Backbone.View.extend({
myFunc: function(){
console.log(this.model.get("obj1"));
//returns the obj1 object
//but how do I get obj1.myAttribute1 directly so that it returns false?
}
});
Wiem, że potrafię:
this.model.get("obj1").myAttribute1;
ale czy to dobra praktyka?
defaults
określasz obiekt (cokolwiek przekazanego przez odniesienie) w (w tym przypadku obj1), ten sam obiekt będzie współdzielony we wszystkich instancjach modelu. Obecna praktyka polega na definiowaniudefaults
jako funkcji, która zwraca obiekt, który ma być użyty jako domyślny. backbonejs.org/#Model-defaults (patrz notatka zapisana kursywą)