转自:http://blog.csdn.net/violet_day/article/details/17515157
$stateProvider
$stateProvider.state(stateName, stateConfig)
Creates a new application state. For alternate usage, see Object-based States
The parameters for .state()
are:
stateName
String
一个唯一的状态的名称,比如‘home’,'about','contacts',创建子状态用'.',比如 "about.sales", "home.newest". Read more about nested states: Nested States & Nested Views
// The state() method takes a unique stateName (String) and a stateConfig (Object)
$stateProvider.state(stateName, stateConfig); // stateName can be a single top-level name (must be unique).
$stateProvider.state("home", {}); // Or it can be a nested state name. This state is a child of the above "home" state.
$stateProvider.state("home.newest", {}); // Nest states as deeply as needed.
$stateProvider.state("home.newest.abc.xyz.inception", {}); // state() returns $stateProvider, so you can chain state declarations.
$stateProvider.state("home", {}).state("about", {}).state("contacts", {});
stateConfig
Object
一个config的object对象接受已下属性
template
, templateUrl
, templateProvider
三种方式启动你的模板,三选一
template
HTML标签或者返回HTML标签的函数
templateUrl
URL或返回URL的函数
templateProvider
函数,返回HTML标签
Learn more about state templates
controller
, controllerProvider
状态对应的控制器
controller
函数或者控制器的名称
controllerProvider
控制器提供者,动态的返回一个控制器的名称
resolve
依赖注意控制器的一个对象
resolve
Object
- keys - 被注入控制器的名称
- factory - {string|function} 如果是string,则作为服务的别名,如果是函数,他的返回值将会被依赖注入,如果返回promise,他会在注入控制器之前执行
url
导航或转换到时,$
stateParams将被传递
url
String
Learn more about url routing with states
params
An array of parameter names or regular expressions. Only use this within a state if you are not usingurl
. Otherwise you can specify your parameters within the url. When a state is navigated or
transitioned to, the $stateParams service will be populated with any parameters that were passed.
params
Array
Learn more about parameters (examples are shown in url form, but they work just the same here)
views
使用视图属性来设置多个视图。如果你没有在一个state内需要多个视图这个属性是没有必要的。提示:请记住,通常嵌套的视图比平级的视图更加有用和强大。
views
Object
- keys - {string} name of ui-view
- view config - {object} view configuration object can set up its own [templates] and (https://github.com/angular-ui/ui-router/wiki#the-simplest-form-of-state)
[controllers].
Learn more about multiple named views
abstract
抽象的状态永远不会被激活,但是可以提供属性以被其子状态继承。
abstract
Boolean - (default is false
)
Learn more about abstract states
onEnter
,
onExit
进入或退出时的回调函数。Callback functions for when a state is entered and
exited. Good way to trigger an action or dispatch an event, such as
opening a
dialog.
-
onEnter
Function, injected including resolves -
onExit
Function, injected including resolves
Learn more about state callbacks
data
data
Object