工作原理 Angularjs UI-路由器
How works Angularjs UI-Router
我想了解 UI-Router 中 state 指令中的 parent 属性到底做了什么。
例如,如果我有:
$stateProvider
.state('base', {
abstract: true,
url: '',
templateUrl: 'views/base.html'
})
.state('login', {
url: '/login',
parent: 'base',
templateUrl: 'views/login.html',
controller: 'LoginCtrl'
})
当我处于登录状态时,"base" 父级的哪些内容可供我使用?模板,它的范围,到底是什么? "base"状态的abstract
属性有什么作用?
What does the 'abstract' attribute of the "base" state do?
它只是使那个状态'abstract'。抽象状态可以有子状态,但不能自己激活。
也就是说,你不能做 $state.go('base')
因为它是抽象的。 'abstract' 状态只是一种无法转换到的状态。
When I´m inside the login state, what things of the "base" parent will
I have at my disposal?
login
状态是 base
的子状态,继承其父状态的 url 属性 作为其自身 url 的前缀。它还从其父级继承了以下内容:
是的,其子状态也可以访问父级的范围。没有其他东西是继承的(没有控制器、模板等)。
来源:Angular ui-路由器wiki
我想了解 UI-Router 中 state 指令中的 parent 属性到底做了什么。
例如,如果我有:
$stateProvider
.state('base', {
abstract: true,
url: '',
templateUrl: 'views/base.html'
})
.state('login', {
url: '/login',
parent: 'base',
templateUrl: 'views/login.html',
controller: 'LoginCtrl'
})
当我处于登录状态时,"base" 父级的哪些内容可供我使用?模板,它的范围,到底是什么? "base"状态的abstract
属性有什么作用?
What does the 'abstract' attribute of the "base" state do?
它只是使那个状态'abstract'。抽象状态可以有子状态,但不能自己激活。
也就是说,你不能做 $state.go('base')
因为它是抽象的。 'abstract' 状态只是一种无法转换到的状态。
When I´m inside the login state, what things of the "base" parent will I have at my disposal?
login
状态是 base
的子状态,继承其父状态的 url 属性 作为其自身 url 的前缀。它还从其父级继承了以下内容:
是的,其子状态也可以访问父级的范围。没有其他东西是继承的(没有控制器、模板等)。
来源:Angular ui-路由器wiki