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 id
string Название модели.
info
object optional Name Type Description ctor
function optional Конструтор.
methods
object optional Методы прототипа.
params
object optional Параметры модели, участвующие в формировании уникального ключа.
base
ns.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 model
ns.Model -
staticns.Model.destroyWith(targetModel, withModels)
ns.model.js, line 862 -
Модель должна удалиться вместе с переданными моделями.
Name Type Description targetModel
ns.Model модель, которую надо удалить при удалении связанных моделей
withModels
ns.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 id
string Model's ID.
params
object optional Model's params.
-
staticns.Model.getKeyAndParams(id, params, info){object}
ns.model.js, line 777 -
Возвращает ключ и собственные параметры модели.
Name Type Description id
string params
object info
object optional -
staticns.Model.getValid(id, params){ns.Model|null}
ns.model.js, line 566 -
Returns valid cached model instance.
Name Type Description id
string Model's ID.
params
object optional Model's params
-
staticns.Model.info(id){object}
ns.model.js, line 717 -
Returns model's info
Name Type Description id
string 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 id
string Model ID.
-
staticns.Model.invalidate(id, filter)
ns.model.js, line 844 -
Инвалидирует все модели с заданным id, удовлетворяющие filter.
Name Type Description id
string ID модели.
filter
function optional Функция-фильтр, принимающая параметром модель и возвращающая boolean.
-
staticns.Model.isCollection(model){boolean}
ns.model.js, line 884 -
Name Type Description model
ns.Model -
staticns.Model.isValid(id, params){boolean}
ns.model.js, line 613 -
Name Type Description id
string params
object -
staticns.Model.key(id, params, info){string}
ns.model.js, line 765 -
Name Type Description id
string params
object info
object optional -
staticns.Model.traverse(id, callback)
ns.model.js, line 893 -
Проходит по всем инстансам модели и передаёт их в callback.
Name Type Description id
string идентификатор модели
callback
function -
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 models
Array.<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 jpath
string 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 requestID
number 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 jpath
string -
set(jpath, value, options)
ns.model.js, line 252 -
Сохраняет value по пути jpath.
Name Type Description jpath
string jpath до значения.
value
* Новое значение.
options
ns.Model~setOptions optional Флаги.
Fires:
-
setData(data, options){ns.Model}
ns.model.js, line 295 -
Устанавливает новые данные модели.
Name Type Description data
* Новые данные.
options
ns.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 silent
boolean <optional>
false Не генерировать событие об изменении (ns-model-changed).
jpath
string <optional>
jpath, по которому произошло изменение
Events
-
ns-model-changed
ns.model.js, line 480 -
Сообщение о том, что модель изменилась.
Name Type Description evt
string Название события
-
ns-model-init
ns.model.js, line 82 -
Модель создана и проинициализованна.
-
ns-model-touched
ns.model.js, line 472 -
Событие сообщает об инкрементации версии модели.