new ns.Model()
- Tutorials:
Fires:
Mixes In
Members
-
protected_versionnumber
-
Data version.
-
keystring
-
Уникальный ключ модели.
-
paramsobject
-
Параметры модели.
Methods
-
staticns.Model.define(id, info, base)
ns.model.js, line 642 -
Определяет новую модель.
Name Type Default Description idstring Название модели.
infoobject optional Name Type Description ctorfunction optional Конструтор.
methodsobject optional Методы прототипа.
paramsobject optional Параметры модели, участвующие в формировании уникального ключа.
basens.Model | String ns.Model optional Базовый класс для наследования или название ранее объявленной модели.
-
staticns.Model.destroy(model)
ns.model.js, line 592 -
Completely destroy model and delete it from cache.
Name Type Description modelns.Model -
staticns.Model.destroyWith(targetModel, withModels)
ns.model.js, line 862 -
Модель должна удалиться вместе с переданными моделями.
Name Type Description targetModelns.Model модель, которую надо удалить при удалении связанных моделей
withModelsns.Model | Array.<ns.Model> связанные модели
-
staticns.Model.get(id, params){ns.Model}
ns.model.js, line 541 -
Models factory. Returns cached instance or creates new.
Name Type Description idstring Model's ID.
paramsobject optional Model's params.
-
staticns.Model.getKeyAndParams(id, params, info){object}
ns.model.js, line 777 -
Возвращает ключ и собственные параметры модели.
Name Type Description idstring paramsobject infoobject optional -
staticns.Model.getValid(id, params){ns.Model|null}
ns.model.js, line 566 -
Returns valid cached model instance.
Name Type Description idstring Model's ID.
paramsobject optional Model's params
-
staticns.Model.info(id){object}
ns.model.js, line 717 -
Returns model's info
Name Type Description idstring Model ID.
Throws:
Throws exception if model is not defined. -
staticns.Model.infoLite(id){object}
ns.model.js, line 750 -
Returns model's info without processing.
Name Type Description idstring Model ID.
-
staticns.Model.invalidate(id, filter)
ns.model.js, line 844 -
Инвалидирует все модели с заданным id, удовлетворяющие filter.
Name Type Description idstring ID модели.
filterfunction optional Функция-фильтр, принимающая параметром модель и возвращающая boolean.
-
staticns.Model.isCollection(model){boolean}
ns.model.js, line 884 -
Name Type Description modelns.Model -
staticns.Model.isValid(id, params){boolean}
ns.model.js, line 613 -
Name Type Description idstring paramsobject -
staticns.Model.key(id, params, info){string}
ns.model.js, line 765 -
Name Type Description idstring paramsobject infoobject optional -
staticns.Model.traverse(id, callback)
ns.model.js, line 893 -
Проходит по всем инстансам модели и передаёт их в callback.
Name Type Description idstring идентификатор модели
callbackfunction -
canRequest(){boolean}
ns.model.js, line 411 -
Возвращает, можно ли запрашивать / перезапрашивать модель.
-
destroy()
ns.model.js, line 185 -
Уничтожает модель.
Fires:
- ns.Model#event:ns-model-before-destroyed
- ns.Model#event:ns-model-destroyed
-
destroyWith(models)
ns.model.js, line 530 -
Name Type Description modelsArray.<ns.Model> -
extractData(result){*}
ns.model.js, line 421 -
Name Type Description result* -
extractError(result){*}
ns.model.js, line 432 -
Name Type Description result* -
finishRequest()
ns.model.js, line 506 -
Сообщает моделе о том, что ее запрос завершился. При этом модель может быть в любом статусе.
-
abstractfixError(error){Vow.Promise}
ns.model.js, line 374 -
Возвращает Promise, который должен исправить ошибку и после которого модель можно перезапросить
Name Type Description error* - See:
-
- isErrorCanBeFixed
-
get(jpath){*}
ns.model.js, line 224 -
Returns data matched by jpath.
Name Type Description jpathstring Example
var foo = model.get('.foo'); // model.data.foo. var bar = model.get('.foo.bar'); // model.data.foo.bar (если foo существует).
-
getData(){null|*}
ns.model.js, line 212 -
-
getError(){*}
ns.model.js, line 333 -
-
getRequestParams(){object}
ns.model.js, line 403 -
-
getVersion(){number}
ns.model.js, line 450 -
Returns data version.
-
hasDataChanged(data){boolean}
ns.model.js, line 325 -
Name Type Description data* -
invalidate()
ns.model.js, line 176 -
Инвалидирует модель.
-
isDo(){boolean}
ns.model.js, line 442 -
-
abstractisErrorCanBeFixed(error)
ns.model.js, line 362 -
Этот метод нужно переопределить, если модель имеет возможность исправлять ошибки. Например, запросы подписываеются временным token. Если токен протух, то модель прозрачно может его перезапросить и сделать перезапрос себя.
Name Type Description error* - See:
-
- fixError
-
isValid(){boolean}
ns.model.js, line 204 -
-
prepareRequest(requestID){ns.Model}
ns.model.js, line 494 -
Подготавливает модель к запросу.
Name Type Description requestIDnumber ID запроса.
-
preprocessData(data){*}
ns.model.js, line 395 -
Name Type Description data* -
select(jpath){array}
ns.model.js, line 237 -
Returns data matched by jpath. This methods always returns array of results.
Name Type Description jpathstring -
set(jpath, value, options)
ns.model.js, line 252 -
Сохраняет value по пути jpath.
Name Type Description jpathstring jpath до значения.
value* Новое значение.
optionsns.Model~setOptions optional Флаги.
Fires:
-
setData(data, options){ns.Model}
ns.model.js, line 295 -
Устанавливает новые данные модели.
Name Type Description data* Новые данные.
optionsns.Model~setOptions optional Флаги.
Fires:
-
setError(error)
ns.model.js, line 341 -
Name Type Description error* -
touch()
ns.model.js, line 463 -
Инкрементирует версию модели.
Fires:
Type Definitions
-
setOptionsobject
-
Опции изменения модели.
Properties:
Name Type Argument Default Description silentboolean <optional>
false Не генерировать событие об изменении (ns-model-changed).
jpathstring <optional>
jpath, по которому произошло изменение
Events
-
ns-model-changed
ns.model.js, line 480 -
Сообщение о том, что модель изменилась.
Name Type Description evtstring Название события
-
ns-model-init
ns.model.js, line 82 -
Модель создана и проинициализованна.
-
ns-model-touched
ns.model.js, line 472 -
Событие сообщает об инкрементации версии модели.