new ns.Update(view, layout, params, options)
Создает ns.Update
Name | Type | Description |
---|---|---|
view |
ns.View |
Корневой view. |
layout |
object |
Layout для этого view, результат от ns.layout.page() |
params |
object |
Параметры, результат от ns.router() |
options |
ns.Update~options |
optional
Опции исполнения. |
- Tutorials:
-
- ns.update
- Tutorial: ns.update.logic
Example
var route = ns.router('/folder/123/message/456');
var layout = ns.layout.page(route.page, route.params);
var update = new ns.Update(AppBlock, layout, route.params);
update.start();
Mixes In
Members
-
EXEC_FLAGns.U.EXEC
-
Execution flag
-
STATUSns.U.STATUS
-
- See:
Methods
-
staticns.Update._addToQueue(newUpdate)
ns.update.js, line 649 -
ns.Update can be global, async or parallel. Cases:
- Global update can be terminated by another global Update only.
- Global Update terminated all Updates except parallel.
- Async updates execute simultaneously.
- Parallel update can't be terminated.
Name Type Description newUpdate
ns.Update New instance of ns.Update.
-
staticns.Update._removeFromQueue()
ns.update.js, line 628 -
Removes ns.Update instance from queue
-
staticns.Update.handleError(error, update)
ns.update.js, line 601 -
Global error handler.
Name Type Description error
object Error summary object
{ error: string, models: Array.<ns.Model> }
.update
ns.Update Update instance so that we can abort it if we want to.
Returns:
Iftrue
- update can continue, otherwise update cannot continue.
-
_applyLayout()
ns.update.js, line 277 -
Рекурсивно на основе layout
- создаёт экземпляры видов
- устанавливает видам asyncState
-
applyTemplate(tree, params, layout){HTMLElement}
ns.update.js, line 490 -
Этот метод является точкой расширения в приложении. Если приложение использует yate-модули или другой шаблонизатор, то ему надо переопределить этот метод.
Name Type Description tree
object Дерево видов.
params
object Параметры страницы.
layout
object Раскладка страницы.
-
generateHTML(){Vow.promise}
ns.update.js, line 404 -
Сценарий генерации html Запрашивает модели всех невалидных и вновь созданных синхронных видов в layout Геренирует html указанных видов Результат генерации передаётся строкой при разрешении promise
-
isGlobal()
ns.update.js, line 566 -
Whether this update is a global update (main update) or not.
-
perf(perf)
ns.update.js, line 577 -
Этот метод является точкой расширения в приложении. Например, можно логировать долгую работу ns.Update, когда общее время превыщает предел.
Name Type Description perf
ns.Update~PerformanceTimings -
prefetch(){Vow.promise}
ns.update.js, line 391 -
Сценарий предзапроса моделей. Запрашивает модели всех невалидных и вновь созданных синхронных видов в layout. По завершению запроса разрешает promise
-
prerender(){Vow.promise}
ns.update.js, line 420 -
Сценарий предварительного рендеринга страницы Итогом его работы являются срендеренные и проинициализированные, но скрытые виды. Используется для ускорения перехода на целевую страницу
-
reconstruct(node){Vow.promise}
ns.update.js, line 467 -
Сценарий воссоздания приложения из заранее сформированнного dom-дерева страницы
Name Type Description node
HTMLElement -
render(){Vow.promise}
ns.update.js, line 432 -
Сценарий полного рендеринга страницы
-
start()
ns.update.js, line 460 -
- Deprecated
- Надо использовать #render
- See:
Type Definitions
-
optionsobject
-
Опции исполнения.
Properties:
Name Type Argument Default Description execFlag
ns.U.EXEC <optional>
ns.U.EXEC.GLOBAL Флаг выполнения.
timers
ns.Update~PerformanceTimings <optional>
Тайминги родительского ns.Update.
-
PerformanceTimingsobject
-
Properties:
Name Type Description __parent
ns.Update~PerformanceTimings Таймеры родительского экземпляра. Появляются в случае, если текущий экземпляр обновляет async-вид.
full
number Общее время работы. Считается отдельно и не является суммой метрик.
collectModels
number Время подготовки запроса.
requestModels
number Время запроса данных.
collectViews
number Время подготовки дерева шаблонизации.
generateHTML
number Время шаблонизации.
html2node
number Время преобразования HTML-строки в DOM.
triggerHideEvents
number Время выполнения событий "вид скрылся" в видах.
insertNodes
number Время обновления DOM.
triggerEvents
number Время выполнения событий в видах.
-
updateViewsobject
-
Список обновляемых видов