Перейти к содержанию

NavigationService#

Наследник класса Service. Содержит функционал навигации.

Методы#

interpolate#

Возвращает хэш-фрагмент url, собранный для маршрута, зарегистрированного под именем routeName с параметрами params

interpolate({routeName, params}) 
параметр тип описание
key object Объект с параметрами
key.routeName string Имя маршрута
key.params object Объект с параметрами
key.params.id number id маршрута
Пример
1
2
3
4
this.services.navigation.interpolate({
  route: 'view',
  params: { id: 1 }
})

view#

Выполняет переход по маршруту view с заданными параметрами

view(params, options) 
параметр тип описание
params object Словарь параметров маршрута
params.id number id маршрута
params.name string имя маршрута
options object Дополнительные опции. Зависят от конкретного маршрута
options.isNew boolean Флаг, обозначающий создание нового документа
options.rdate Date Расчётная дата (для подстановки в документ на модели с соответствующим свойством)
options.customData object Данные, которые будут доступны в свойстве customData объекта аргументов конструктора класса формы.
options.localData Object Array
options.tab Object Вкладка, в которой будет отображена форма. Если не задано, то форма отобразится в новой вкладке
Пример
1
2
3
this.services.navigation.view(
    { id: 5, name: 'TestForm' },
    { isNew: true })

go#

Выполняет переход по маршруту, зарегистрированному под именем routeName, с параметрами params и настройками options

go(key, options) 
параметр тип описание
key object Ключ маршрута
key.route String Имя маршрута
key.params object Словарь параметров маршрута
params.id number id маршрута
params.name string имя маршрута
options object Дополнительные опции. Зависят от конкретного маршрута
options.isNew boolean Флаг, обозначающий создание нового документа
options.rdate Date Расчётная дата (для подстановки в документ на модели с соответствующим свойством)
options.customData object Данные, которые будут доступны в свойстве customData объекта аргументов конструктора класса формы.
options.localData Object Array
options.tab Object Вкладка, в которой будет отображена форма. Если не задано, то форма отобразится в новой вкладке
Пример
1
2
3
    this.services.navigation.go(
        { route: 'view', params: { name: 'customData' } },
        { customData: { param: 888 } })
    const source = new ModelSource(cityModel)
    const id = await source.genPrimaryKey()
    const localData = source.createObject().VCode(id).Name('Петропавловск')

    const routeKey = {
      route: 'view',
      params: {
        name: 'cityForm',
        id
      }
    }
    const options = {
      isNew: true,
      rDate: new Date(),
      customData: {
        type: 'Малый',
        someMessage: 'Opened new doc with route method'
      },
      localData: localData,
      tab: undefined
    }
    this.services.navigation.go(routeKey, options)

reload#

Перезагружает вкладку браузера.

Сохраняет текущий маршрут (если вызвать метод без параметра). Если необходимо выполнить перезагрузку с другим маршрутом, то необходимо передать параметр key, который содержит свойства: route - имя маршрута, params - параметры маршрута.

reload(key)
параметр тип описание
key object Ключ маршрута
key.route String Имя маршрута
key.params object Словарь параметров маршрута
key.params.id number id маршрута
key.params.name string имя маршрута
Пример
1
2
3
4
5
6
7
    this.services.navigation.reload({
      route: 'view',
      params: {
        name: 'cityForm',
        id: 3
      }
    })
    this.services.navigation.reload({})

Свойства#

Устаревшее queryParams#

Возвращает объект, содержащий параметры строки запроса текущего url, где ключ - название параметра, значение - значение параметра.

Примечание

Для получения параметров рекомендуется использовать объект customData у формы, который доступен в конструкторе формы и в событии tabActivated.