Korzystanie z Backbone.js Wiem, że zdecydowanie zaleca się ustawienie właściwości modelu za pomocą metody set, a NIE przez bezpośrednią modyfikację attributes internal hash.backbone.js zestaw atrybutów wewnętrznych modelu mieszania bezpośrednio
Jednak oprócz automatycznego wyłączania zdarzenia "zmień", jakie inne minusy lub "skutki uboczne" występują w modyfikowaniu wewnętrznego skrótu?
Problem, przed którym stoję, polega na tym, że podczas, gdy metoda set przyjmuje literał obiektu, muszę przypisać lewą stronę za pomocą zmiennej określonej w czasie wykonywania. Dzięki.
myModel.set({
myProperty : myValue; //myProperty is a variable, so this is invalid syntax
})
//vs
myModel.attributes[myProperty] = myValue; //myProperty is a variable that can be evaluated
Myślę, że twoje rozwiązanie jest genialne. Ta funkcja powinna zostać połączona z nowszymi wersjami Backbone! Dziękuję również za wskazanie opatrzonego adnotacją kodu źródłowego; masz rację, powinienem spojrzeć na to w pierwszej kolejności. – fortuneRice
fajnie! Napisałem ten kod kilkanaście razy i nigdy nie pomyślałem, żeby to była metoda. :) btw: nie ma potrzeby używania _.extend do tego. 'Backbone.Model.prototype.setByName = function (...) {...}' robi to samo ... funkcjonalnie to samo. tylko inny sposób na zrobienie tego. –
@Derick Bailey: Śmieszne ... Pomyślałem, że '_.extend' ma trochę sprytu do rozszerzania prototypów ... nie. To naprawdę rozszerzenie każdego obiektu o kolekcję zmian. Nic tam nie jest szalone. Zmieniam moją odpowiedź, aby to potwierdzić. Dzięki. –