Angularjs 角度1.x组件,ui路由器1状态更改
我有三个组件Angularjs 角度1.x组件,ui路由器1状态更改,angularjs,angular-ui-router,angular-components,Angularjs,Angular Ui Router,Angular Components,我有三个组件 应用程序组件 登录组件 仪表板组件 应用程序组件 应用程序组件是组件树的主要组件。该组件还保存基本布局,该布局由内容的标题和包装组成 <div class="container-fluid"> <navigation routes="$ctrl.routes"></navigation> </div> <ui-view></ui-view> 场景 访客正在加载应用程序时,导航栏应该只有导航栏可见,没有登
<div class="container-fluid">
<navigation routes="$ctrl.routes"></navigation>
</div>
<ui-view></ui-view>
场景
访客正在加载应用程序时,导航栏应该只有导航栏可见,没有登录等用户项。访客登录并成为用户后,现在应该会看到一个导航栏,其中只包含导航栏项,如dashboard
问题
我正在为这个场景寻找解决方案,通常会发生onStateChange事件,我可以在控制器中使用它。我现在看到的唯一可用选项是在每个特定组件中呈现导航。我通常引入一个中间/父状态来实现这一点 例如,我将定义以下状态:
(摘要)应用程序
app.login
(摘要)app.main
app.main.dashboard
app.main.home
- 等等
应用程序
路线模板
<ui-view></ui-view>
<div class="container-fluid">
<navigation routes="$ctrl.routes"></navigation>
</div>
<ui-view></ui-view>
我通常会引入一个中间/父状态来实现这一点 例如,我将定义以下状态:
(摘要)应用程序
app.login
(摘要)app.main
app.main.dashboard
app.main.home
- 等等
应用程序
路线模板
<ui-view></ui-view>
<div class="container-fluid">
<navigation routes="$ctrl.routes"></navigation>
</div>
<ui-view></ui-view>
我通常会为仪表板添加一个父状态(登录后的所有状态)。您可以轻松地添加一个抽象的父状态
仪表板
,其主视图与您为应用程序
状态所做的相同。@daan.desmedt这可能是一个正确的选项。您知道其他可能的策略吗?您可以使用rootscope
变量指示何时显示视图部件。。。但是我的观点是,对于摘要周期
,视图的逻辑性更强,强度更低。我通常会为仪表板添加一个父状态(登录后的所有状态)。您可以轻松地添加一个抽象的父状态仪表板
,其主视图与您为应用程序
状态所做的相同。@daan.desmedt这可能是一个正确的选项。您知道其他可能的策略吗?您可以使用rootscope
变量指示何时显示视图部件。。。但是我的意见是,对于你的摘要周期而言,我的意见状态
视图更具逻辑性,强度更低。正如我在上面的评论中所说,我对你的答案投了赞成票-这也是我的首选解决方案。正如我在上面的评论中所说,对你的答案投了赞成票-这也是我的首选解决方案。