本文介绍了嵌套视图角UI路由器变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我目前工作的一个应用,在那里我有多个嵌套的意见,他们看起来就有点像这样的:
- 用户界面视图
- 用户界面视图=头
- 用户界面视图=导航
- 用户界面视图=身
我的状态被定义如下:
.STATE('指数',{
网址:'',//默认路由
templateUrl:welcome.html
})
.STATE('应用',{
摘要:真实,
templateUrl:app.template.html'//这个模板包含了3个不同的UI的意见
})//我使用一个不同的状态,在这里,所以我可以设置默认的导航和头
.STATE(应用内,{
父:应用程序,
摘要:真实,
观点:{
导航@应用:{...},
头@应用:{...}
}
})//在应用路线
.STATE(仪表盘,{
父:应用内,
网址:'/应用/仪表盘
观点:{
身体@应用:{...}
}
})
.STATE('用户',{
父:应用内,
网址:'/应用/用户
观点:{
身体@应用:{...}
}
})
.STATE(设置,{
父:应用内,
网址:'/应用程序/设置
观点:{
身体@应用:{...}
}
})
目前,这个工程很大,但对于应用程序内的路线
我想定义显示在标题标题@应用
视图。结果
什么是做到这一点的最好方法是什么?此刻,我只能想到的任何设置上的 $ rootScope
,或发送一个事件的变量。但对于这两个我需要一个控制器。
有没有一种方法,我可以直接从我的路由配置做到这一点?
解决方案
与UI路由器的示例应用程序了,使用这个code:
.RUN(
['$ rootScope','$州','$ stateParams',
功能($ rootScope,$状态,$ stateParams){
//这是非常方便的,以$状态和引用$ stateParams添加到$ rootScope
//这样就可以从任何范围的应用程序。对于例如在访问它们,
//<李纳克级={活跃:$ state.includes('contacts.list')}>将设置在<立GT;
//为主动,每当contacts.list或它decendents之一是有效的。
$ rootScope $状态= $状态。
$ rootScope $ stateParams = $ stateParams。
}])
这意味着,以数据:{}
特点:
// Example shows an object-based state and a string-based state
var contacts = {
name: 'contacts',
templateUrl: 'contacts.html',
data: {
customData1: 5,
customData2: "blue"
}
}
we can do this:
.state('in-app', {
parent: 'app',
abstract: true,
views: {
'nav@app': { '...' },
'header@app': { '...' }
}
data: { title : "my title" },
})
And use it in some template like:
<div>{{$state.current.data.title}}</div>
Some summary.
- We can place state and params into $rootScope, so we can access it without any controller anyhwere.
- We can declare some more custom stuff via
data
and use it as a title ... anyhwere
这篇关于嵌套视图角UI路由器变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!