我的 AngularDart 应用程序中有许多命名路线。我以老式的方式创建链接,如下所示:
<a href="#/activities">Go</a>
这似乎很脆弱。如果我改变路径或改变策略远离散列改变,我需要改变我所有的链接。
我可以做类似的事情:
<a ng-link="activities">Go</a>
activities
我的路线配置中的路线名称在哪里。
我的 AngularDart 应用程序中有许多命名路线。我以老式的方式创建链接,如下所示:
<a href="#/activities">Go</a>
这似乎很脆弱。如果我改变路径或改变策略远离散列改变,我需要改变我所有的链接。
我可以做类似的事情:
<a ng-link="activities">Go</a>
activities
我的路线配置中的路线名称在哪里。
现在您可以使用路由器为您生成这些 URL。
router.url('activities', {});
第二个参数(可能是可选的)是参数值的映射。例如,如果您有这样的路径,/activity/:activityId
那么您可以执行以下操作:
router.url('activity', {'activityId', '12345'});
URL 生成器还尊重路由的当前状态,因此假设您有一个活动路由,例如 foo.bar.baz
,并且foo
被参数化,并且您以某种方式获得了 bar 路由(例如 viaRouteProvider
或 queried router.root.getRoute('foo.bar')
),那么您不需要知道foo
为 生成 URL 的路由参数baz
,您可以执行以下操作:
Route bar = router.root.getRoute('foo.bar');
router.url('baz', {}, startingFrom: bar);
现在您需要手动将生成的 URL 插入到模板中:
<a href="{{ctrl.generatedUrl}}">link</a>