Angularjs UI-Router是如何工作的?

How works Angularjs UI-Router

本文关键字:工作 UI-Router 何工作 Angularjs      更新时间:2023-09-26

我想知道在UI-Router中state指令中的父属性到底是做什么的。

例如,如果我有:

$stateProvider
.state('base', {
    abstract: true,
    url: '',
    templateUrl: 'views/base.html'
})
.state('login', {
  url: '/login',
  parent: 'base',
  templateUrl: 'views/login.html',
  controller: 'LoginCtrl'
})

当我处于登录状态时,"base"父类的哪些东西可以供我使用?模板,它的作用域,到底是什么?"基"态的abstract属性做什么?

"基"状态的"抽象"属性是做什么的?

它只是使状态"抽象"。抽象状态可以有子状态,但不能激活自己。

也就是说,你不能做$state.go('base'),因为它是抽象的。抽象状态是一种无法转换的状态。

当我处于登录状态时,"基"父节点的什么东西会我有什么可以支配的吗?

login state是base的子状态,继承父状态的url属性作为自己url的前缀。它还从父节点继承了以下内容:

  • 通过resolve
  • 解析依赖性自定义数据属性

是的,parent的作用域也可以被它的子状态访问。没有其他继承(没有控制器,模板等)。

来源:角ui-router wiki