2011-12-08 16 views
6

Próbuję więc nauczyć się używać szkieletu i ciągle przełączam się między używaniem obiektu domyślnego a metodą inicjowania. Jeśli użyję tej metody, to z "this.set()" ustawiam atrybuty, itd. W przeciwnym razie te atrybuty są ustawione w domyślnym obiekcie.Kiedy używać wartości domyślnych kontra konstruktor initialize na modelu

Rozejrzałem się po Google i wydaje mi się, że nie mogę znaleźć zalecanej metody ani "powszechnego" wzoru, kiedy używać wartości domyślnych lub kiedy należy zainicjować. Mogę sprawić, aby mój kod działał w obie strony, a oba przyniosły obiekt o pożądanych atrybutach, ale spowodowałoby to błąd, ponieważ nie jestem pewien, czy używam go niepoprawnie.

Odpowiedz

10

Użytkownik użyłby obiektu defaults dla wszystkich "statycznych" danych, ponieważ można je zdefiniować tylko raz dla klasy modelu. Będziesz potrzebował metody initialize, jeśli musisz dodać właściwości dynamiczne dla poszczególnych instancji. Na przykład:

initialize: function() { 
    this.set({displayName: this.get('firstname') + this.get('lastname')}); 
} 
+0

ah, gotcha. dzięki. –

Powiązane problemy