Class: Update

ns. Update

ns.Update

new ns.Update(view, layout, params, options)

ns.update.js, line 22

Создает 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:
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:
If true - update can continue, otherwise update cannot continue.

_applyLayout()

ns.update.js, line 277

Рекурсивно на основе layout

  1. создаёт экземпляры видов
  2. устанавливает видам 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

    Список обновляемых видов

    Properties:
    Name Type Description
    sync Array.<ns.View>

    Массив видов, которые надо обновить синхронно.

    async Array.<ns.View>

    Массив видов, которые надо обновить асинхронно.

    hasPatchLayout boolean

    Флаг, что в дереве есть неопределившиеся виды.

    comments powered by Disqus