我angular-ui-router
在应用程序中使用和嵌套状态,并且我还有一个导航栏。导航栏是手写的,ui-sref-active
用于突出显示当前状态。它是一个两级导航栏。
现在,当我进入时,说Products / Categories
我希望同时突出显示Products
(在1级)和Categories
(在2级)。但是,使用时ui-sref- active
,如果我处于状态,Products.Categories
则仅突出显示该状态,而不突出显示Products
。
有什么办法可以使Products
该状态突出显示?
代替这个-
<li ui-sref-active="active">
<a ui-sref="posts.details">Posts</a>
</li>
你可以这样做-
<li ng-class="{active: $state.includes('posts')}">
<a ui-sref="posts.details">Posts</a>
</li>
目前不起作用。这里正在进行讨论(https://github.com/angular-ui/ui-
router/pull/927
)并且,它将很快添加。
更新:
为此,$state
应该在视图中可用。
angular.module('xyz').controller('AbcController', ['$scope', '$state', function($scope, $state) {
$scope.$state = $state;
}]);
更多信息
更新[2]:
从版本开始0.2.11
,它可以直接使用。请检查相关问题:https : //github.com/angular-ui/ui-
router/issues/818
问题内容: 我有一个 父母 州和许多孩子州。如果我希望在与孩子中的一个孩子在一起时在父母上工作,则需要执行此“ hack”操作: 这是非常丑陋的方式,我有很多孩子,所以这似乎不是很好的解决方案。有人对此问题有其他解决方案吗? 问题答案: 您只能检查而不是检查状态
问题内容: 的角度UI路由器允许 多个嵌套视图 。这些可互换视图的作用似乎与指令的作用重叠。 使用(多个,嵌套的) s vs angular 指令的 利弊是什么? 更新 状态和路由是两个不同的功能。状态允许您换出partial.html模板及其控制器,并且您可以(可选地?)指定相应的URL /路由。 在Tim Kindberg(开发人员)的电子邮件回复中: ui-view是一个指令,因此,如果使用
问题内容: 我的ui路由器状态提供程序中具有以下状态: 这遵循具有默认子状态的最佳做法,如ui-router文档中此处所述。 但是,当我现在在文档中的某处引用父级的链接时,例如,我总是收到一条错误消息,说我无法转换为抽象状态。当我在地址栏中手动输入URL并按Enter时,一切正常。 相关Plunker:http ://plnkr.co/edit/d3Z0tOwC3VCTPqGiB0df?p=pre
问题内容: 在我正在开发的一个有角度的应用程序中,我希望有一个抽象的父状态,该状态必须解析其所有子状态的某些依赖关系。具体来说,我希望所有要求经过身份验证的用户的状态都必须从某些authroot状态继承该依赖项。 我遇到了无法始终解决父依赖关系的问题。理想情况下,我想让父状态检查用户是否仍自动登录到任何子状态。在文档中,它说 子状态将从父状态继承已解析的依赖项,并可以将其覆盖。 我发现仅当我从父级
问题内容: 我想有多个布局(1-col,2-col,3-col),我想根据所需的布局切换到不同的路线。 我目前有一个根状态,默认情况下使用某种布局,然后在该布局中包含用于标题(如页眉,页脚,边栏等)的ui-view指令。 我只是想知道是否有可能更改嵌套状态的布局,因为它目前不起作用,并且控制台或linter中没有出现错误。 我目前在浏览器中完全没有输出,这使我认为我实现了错误的方法,因为所有路由都
问题内容: 我有这样的结构: 我希望能够在如下所示的主要状态下定义模板,而不必在子状态下进行管理。 我希望命名的ui视图不是其子状态,并由该状态的views对象而不是子状态的templateUrl字段填充。我怎样才能做到这一点? 问题答案: 我们可以在 一种* 状态下使用 更多 视图,请参阅: * 多个命名视图 该定义只需要使用绝对命名即可: 如此处详细说明: 视图名称-相对名称与绝对名称 在幕后