Podczas przesłonięcia synchronizacji szkieletu, zarówno model/collection .save()/fetch() używa tej samej metody synchronizacji szkieletu, więc jaki jest najlepszy sposób sprawdzenia, czy co otrzymuje Backbone.sync to model lub kolekcja modeli?Sprawdź, czy coś jest modelem lub kolekcją w szkielecie js
Jako przykład:
Backbone.sync = function(method, model, options){
//Model here can be both a collection or a single model so
if(model.isModel()) // there is no isModel or isCollection method
}
Chyba szukam „bezpiecznej” najlepszych praktyk, mogłem czeku oczywiście dla niektórych atrybutów lub metod, które tylko model lub zbiór mają, ale wydaje hackish, czy nie powinien istnieć lepszy oczywisty sposób? I prawdopodobnie nie mogę go znaleźć.
Dzięki!
upvote bo sprawdzania własność 'length' (tylko Collection ...?!?) wczoraj w szybkim kodowaniu! Sprawdzanie "modelu" jest genialne w porównaniu. Ha ha. – eightyfive
Nie powinniście liczyć na takie rzeczy, ponieważ mogą się zmienić w przyszłości i złamać kod. Użyj słowa kluczowego instanceof zgodnie z opisem :) –