Dart 角度省道:路线路径的匹配规则-隐式后缀通配符?
考虑(摘自该报告):Dart 角度省道:路线路径的匹配规则-隐式后缀通配符?,dart,angular-routing,angular-dart,Dart,Angular Routing,Angular Dart,考虑(摘自该报告): router.root …addRoute( 名称:“添加”, 路径:'/add', 输入:view('view/addRecipe.html')) URL如何与这样的路径匹配?是否有像/add/*或/add*这样的隐式通配符后缀?如果是这样,我如何使/add精确匹配/add,以避免与/address冲突?如果您查看源代码(route\u Hierarchy package中的client.dart,AngularDart反过来使用它),您将注意到路径被用作地图的键。这意
router.root
…addRoute(
名称:“添加”,
路径:'/add',
输入:view('view/addRecipe.html'))
URL如何与这样的路径匹配?是否有像
/add/*
或/add*
这样的隐式通配符后缀?如果是这样,我如何使/add
精确匹配/add
,以避免与/address
冲突?如果您查看源代码(route\u Hierarchy package中的client.dart,AngularDart反过来使用它),您将注意到路径被用作地图的键。这意味着如果您的路径设置为/add
,它将与/address
不匹配 正确,初始前缀是否匹配,因此/add
将匹配/address
如果您担心两条路由之间的冲突,其中一条路径恰好是另一条路径的前缀,那么正确的方法是将最具体的路径放在第一位。例如:
router.root
…addRoute(
姓名:'地址',
路径:'/地址',
输入:view('view/address.html'))
…addRoute(
名称:“添加”,
路径:'/add',
输入:view('view/addRecipe.html'))
路由器按照指定的顺序匹配路由,因此它将选择第一个匹配的路由。这样,/address
将始终匹配地址
路线,/add
将始终匹配添加
路线
如果您担心/addFoo
与/add
的意外匹配,那么目前恐怕没有简单的方法来确保这一点。如果您对此有强烈的感觉,请反对route_分层包