Flutter Web: чтение и запись значений строки запроса - PullRequest
0 голосов
/ 19 марта 2020

Возможно ли чтение / запись в строку запроса напрямую, в отличие от отправки именованных маршрутов в root Navigator?

Мы разрабатываем приложение в стиле рабочего стола, которое использует внутреннюю область содержимого , Мы хотели бы поддерживать глубокие ссылки в Интернете, но не полагайтесь на наш root навигатор для изменения страниц, чтобы обычный подход не подходил. (Вместо этого мы используем IndexedStack + 'TabMenu')

Все, что нам действительно нужно, - это несколько простых API:

Window.setRoute("/foo/bar")
String route = Window.getRoute()
Window.onRouteChanged = _handleRouteChanged;

Оттуда мы можем легко обрабатывать все в коде. Это возможно?

1 Ответ

1 голос
/ 19 марта 2020

Из https://github.com/flutter/flutter/issues/35261#issuecomment -507610298
вы можете получить query parameters, обратившись к window.location.href с пакетом dart:js:

import 'dart:js' as js;
...
var uri = Uri.tryParse(js.context['location']['href']);
if (uri != null) return uri.queryParameters;

И напрямую изменить window.location.href

...