Z mojego zrozumienia atrybuty modelu backbone.js mają być zadeklarowane jako nieco prywatnych zmiennych składowych mówiącbackbone.js dostęp do atrybutów modelu w modelu - this.attribute VS this.get ("atrybut")?
this.set({ attributeName: attributeValue })
// accessing the value
this.get('attributeName');
Ale gdy piszę funkcje wzięciu rzeczywisty model wydaje się znacznie prostsze powiedzieć, jak to :
this.attributeName = attributeValue;
// accessing the value
this.attributeName;
Zakładam też, że ta druga wersja będzie szybciej przetwarzana, ponieważ nie przechodzi przez zarządzanie zdarzeniami backbone.js.
Więc zastanawiałem się, jak radzicie sobie z zaletami, które są używane przede wszystkim wewnętrznie w modelu. Są to atrybuty, które faktycznie chcieliby być nieco osłonięte od zewnątrz, więc wystawienie ich tak, jak w tym ostatnim przykładzie, może nie jest prawidłowe. Kiedy przeglądam przykłady dla widoku backbone.js, który nie ma metod pobierania i ustawiania, wydaje się, że dobrze jest zrobić to w drugim przykładzie. Czy istnieje jakaś dobra zasada, kiedy używać get/set (atrybut) lub this.attribute podczas kodowania w modelu? A może przykład modelu, który czyni to wyraźniejszym?
dlaczego chcesz uniknąć zarządzanie zdarzeniami szkieletowej? mogą tam być widoki, które nasłuchują pewnych atrybutów, niezależnie od tego, czy są one aktualizowane wewnątrz czy na zewnątrz kręgosłupa.Model? – neebz
Po prostu myślałem, że kiedy na przykład w mojej aplikacji aktualizuję niektóre atrybuty modelu co 16 milisekundów, nie byłoby dobrym pomysłem, aby za każdym razem uruchamiać te wszystkie zdarzenia? Większość przykładów, z którymi się zetknąłem, dotyczy list rzeczy do zrobienia i innych rzeczy, które nie aktualizują się tak często. – torno
Dla prywatnych danych modelu po prostu wpisuję 'this._propName', zamiast umieszczać je w zarządzanym obszarze obiektu' Modelu szkieletowego '. – WiredPrairie