Я пытаюсь использовать маршрутизатор от route_hierarchical/client.dart
, чтобы прослушать событие onpopstate и включить/отключить <div>
в моем index.html. (Пример в stagehand.pub dart plugin) Если это делается через обычный <a href="/relativePath">
в index.html, он работает. Но если я пытаюсь изменить путь через button.onClick.listen()
обработчик, в котором я называю:window.location.assign() не улавливается Router in dart
window.location.assign('/relativePath');
Я получаю 404 и маршрутизатор не обрабатывает мое событие должным образом. Должно ли это действие не вызывать popstate event, который пойман Router, как описано here?
handlers.dart
...
button.onClick.listen((_){
window.location.assign('/about');
});
...
router.dart
var router = new Router();
router.root
..addRoute(name: 'about', path: '/about', enter: showAbout)
..addRoute(name: 'login', defaultRoute: true, path: '/', enter: showLogin)
..addRoute(name: 'context', path: '/context', enter: showContext);
router.listen();
}
void showAbout(RouteEvent e) {
// Extremely simple and non-scalable way to show different views.
querySelector('#login').style.display = 'none';
querySelector('#about').style.display = '';
querySelector('#context').style.display = 'none';
} ...
index.html
...
<form>
<button type="button" id="submit" disabled="true" >
Login
</button>
</form>
...
Похож на ошибку, пожалуйста, сообщите на http://dartbug.com). Вы можете попробовать 'window.location.href = xxx' (см. Также http://stackoverflow.com/questions/13109233) –
Спасибо за ваш ответ, я видел это сообщение раньше, но, к сожалению, установщик href не работает: ( – raptaML