gpt4 book ai didi

routes - Dart 和 http ://pub. dartlang.org/packages/route

转载 作者:行者123 更新时间:2023-12-01 02:26:02 25 4
gpt4 key购买 nike

我已经开始尝试使用 Dart 和 Route 包 http://pub.dartlang.org/packages/route .

两个问题立即出现:

1)当用户将浏览器指向不应该存在的网址时(例如,通过提供错误的哈希片段),是否有可能(以及惯用的方式是什么)定义回退路由。在示例代码中,路由框架只是引发了一个 ArgumentError("No handler found for $path") .

2) dart 编辑器不为根路径 / 下编译的应用程序提供服务但在从文件系统目录派生的路径下。这使得测试路由框架成为可能。是否可以在 localhost:3030/ 下提供应用程序?

最佳答案

对于第 2 点:
你可以让它像跟随吗? :
url 的可变部分由' 设置window.location.pathname ';

library urls;

import 'dart:html';
import 'package:route/client.dart';

final String _pathName = window.location.pathname;

final UrlPattern _base = new UrlPattern("${_pathName}");
final UrlPattern home = new UrlPattern("${_pathName}#home");
final UrlPattern page2 = new UrlPattern("${_pathName}#page2");

// useFragment: true is important! allow keep '#" un url
// allow to bookmark be valid when browser is closed and reopen.
final Router router = new Router(useFragment: true)
// simple hack to redirect / to /#home (home UrlPattern)
..addHandler(_base, (_) => window.location.hash = "#home");

main() {
router..addHandler(home, showHome)
..addHandler(page2, showPage2)
..listen();
}

void showHome(String path) {
query("body").children
..clear()


..add(new Element.html("<h1>Home</H1>"));
}

void showPage2(String path) {
query("body").children
..clear()
..add(new Element.html("<h1>Page2</H1>"));
}

关于routes - Dart 和 http ://pub. dartlang.org/packages/route,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16402381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com