Spec-Zone.ru › Phoenix

Phoenix.LiveView.Socket

Исходный код

Сокет LiveView для конечных точек Phoenix.

Обычно он монтируется непосредственно в вашей конечной точке.

socket "/live", Phoenix.LiveView.Socket,
  websocket: [connect_info: [session: @session_options]]

Чтобы использовать одно транспортное соединение совместно обычными каналами Phoenix и процессами LiveView, use Phoenix.LiveView.Socket из собственного модуля MyAppWeb.UserSocket.

Затем объявите определения channel и необязательные connect/3, а также обратные вызовы id/1 для обработки специфических для вашего канала задач, после чего смонтируйте собственный сокет в конечной точке:

socket "/live", MyAppWeb.UserSocket,
  websocket: [connect_info: [session: @session_options]]

Если параметры сеанса необходимо задавать во время выполнения, можно использовать кортеж MFA. Указанная в нём функция должна возвращать список ключевых слов.

socket "/live", MyAppWeb.UserSocket,
  websocket: [connect_info: [session: {__MODULE__, :runtime_opts, []}]]

# ...

def runtime_opts() do
  Keyword.put(@session_options, :domain, host())
end

Сводка

Типы

assigns()

Данные LiveView, хранящиеся в сокете.

assigns_not_in_socket()

Структура, возвращаемая, когда assigns отсутствует в сокете.

t()

Типы

assigns()Исходный код

@type assigns() :: map() | assigns_not_in_socket()

Данные LiveView, хранящиеся в сокете.

assigns_not_in_socket()Исходный код

@opaque assigns_not_in_socket()

Структура, возвращаемая, когда assigns отсутствует в сокете.

t()Исходный код

@type t() :: %Phoenix.LiveView.Socket{
  assigns: assigns(),
  endpoint: module(),
  host_uri: URI.t() | :not_mounted_at_router,
  id: binary(),
  parent_pid: nil | pid(),
  private: map(),
  redirected: nil | tuple(),
  root_pid: pid(),
  router: module(),
  sticky?: term(),
  transport_pid: pid() | nil,
  view: module()
}

Пакет Hex Предварительный просмотр Hex Просмотреть llms.txt Скачать версию ePub

Создано с помощью ExDoc (v0.40.3) для языка программирования Elixir

© 2014 Chris McCord
Licensed under the MIT License.
https://phoenix-live-view.hexdocs.pm/Phoenix.LiveView.Socket.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API