defaultjs ui-router默认子状态和ui-sref

前端之家收集整理的这篇文章主要介绍了defaultjs ui-router默认子状态和ui-sref前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的ui路由器状态提供商有以下状态:
$urlRouterProvider.when('/parent','/parent/child');
$stateProvider.state('parent',{
     url: "/parent",abstract: true
});

$stateProvider.state('parent.child',{
     url: "/child"
});

遵循ui-router文档中说明的here的默认子状态的最佳做法.

然而,当我现在在我的文档中使用ui-sref引用父类的一个链接,例如< a ui-sref =“parent”> Link< / a>我总是收到一个错误,说我不能转换到一个抽象的状态.当我手动输入URL到地址栏并按Enter输入一切正常.

相关Plunker:http://plnkr.co/edit/d3Z0tOwC3VCTPqGiB0df?p=preview

如何将ui-sref与默认子状态相结合?

抽象状态不能直接定位.他们主要作为建立儿童国家的基础.唯一的原因是它的URL正常工作是/ parent被.when捕获

这意味着当你调用一个孩子时

<a ui-sref="parent.child">

父进程中的子进程被加载,这意味着父进程将被加载为它周围的层.

所以,永远不要瞄准抽象状态本身.就像在门框内有一扇门.你只能打开门和门(小孩)互动,但是直接从框架(父母)开始.但是,当您与门的互动时,门和框架是被加载的系统的一部分.

您可以给孩子一个空的URL,这样它不会附加任何东西到父状态URL,然后将被加载.

查看更多信息:
https://github.com/angular-ui/ui-router/wiki/Nested-States-%26-Nested-Views#abstract-states

原文链接:/angularjs/143166.html

猜你在找的Angularjs相关文章