转自:http://blog.csdn.net/violet_day/article/details/17515157
$stateProvider
$stateProvider.state(stateName, stateConfig)
Creates a new application state. For alternate usage, see
The parameters for .state()
are:
stateName
String
一个唯一的状态的名称,比如‘home’,'about','contacts',创建子状态用'.',比如 "about.sales", "home.newest". Read more about nested states:
// 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标签
controller
, controllerProvider
状态对应的控制器
controller
函数或者控制器的名称
controllerProvider
控制器提供者,动态的返回一个控制器的名称
resolve
依赖注意控制器的一个对象
resolve
Object
- keys - 被注入控制器的名称
- factory - {string|function} 如果是string,则作为服务的别名,如果是函数,他的返回值将会被依赖注入,如果返回promise,他会在注入控制器之前执行
url
导航或转换到时,$ stateParams将被传递
url
String
params
An array of parameter names or regular expressions. Only use this within a state if you are not using url
. Otherwise you can specify your parameters within the url. When a state is navigated or to, the service will be populated with any parameters that were passed.
params
Array
views
使用视图属性来设置多个视图。如果你没有在一个state内需要多个视图这个属性是没有必要的。提示:请记住,通常嵌套的视图比平级的视图更加有用和强大。
views
Object
- keys - {string} name of ui-view
- view config - {object} view configuration object can set up its own [templates] and () [controllers].
abstract
抽象的状态永远不会被激活,但是可以提供属性以被其子状态继承。
abstract
Boolean - (default is false
)
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 .
onEnter
Function, injected including resolvesonExit
Function, injected including resolves
data
data
Object