名字 |
类型 |
默认值 |
说明 |
接口方法与固有属性 |
redirect(hash) |
Function |
|
avalon.router.redirect
参数名/返回值 |
类型 |
说明 |
hash |
|
hash 访问的url hash |
|
navigate(hash,options) |
Function |
|
avalon.router.navigate
参数名/返回值 |
类型 |
说明 |
hash |
|
hash 访问的url hash |
options |
|
options 扩展配置 |
options.replace |
|
true替换history,否则生成一条新的历史记录 |
options.silent |
|
true表示只同步url,不触发url变化监听绑定 |
|
when(path,redirect) |
Function |
|
avalon.router.when 配置重定向规则
参数名/返回值 |
类型 |
说明 |
path |
|
path 被重定向的表达式,可以是字符串或者数组 |
redirect |
|
redirect 重定向的表示式或者url |
|
get(path,callback) |
Function |
|
avalon.router.get 添加一个router规则
参数名/返回值 |
类型 |
说明 |
path |
|
path url表达式 |
callback |
|
callback 对应这个url的回调 |
|
go(toName,params,options) |
Function |
|
avalon.router.go 跳转到一个已定义状态上,params对参数对象
参数名/返回值 |
类型 |
说明 |
toName |
|
toName 状态name |
params |
|
params 附加参数 |
options |
|
params.query 在hash后面附加的类似search'的参数对 |
options |
|
扩展配置 |
options.reload |
|
true强制reload,即便url、参数并未发生变化 |
options.replace |
|
true替换history,否则生成一条新的历史记录 |
options.replaceQuery |
|
true表示完全覆盖query,而不是merge,默认为false,为true则会用params指定的query去清空 |
|
state(stateName,opts) |
Function |
|
avalon.state 对avalon.router.get 进行重新封装,生成一个状态对象
参数名/返回值 |
类型 |
说明 |
stateName |
|
stateName: 指定当前状态名 |
opts |
|
opts 配置 |
opts.url |
|
当前状态对应的路径规则,与祖先状态们组成一个完整的匹配规则 |
opts.controller |
|
指定当前所在的VM的名字(如果是顶级状态对象,必须指定) |
opts.views |
|
如果不写views属性,则默认view为"",对多个[ms-view]容器进行处理,每个对象应拥有template, templateUrl,
templateProvider |
opts.views.template |
|
指定当前模板,也可以为一个函数,传入opts.params作参数 |
opts.views.templateUrl |
|
指定当前模板的路径,也可以为一个函数,传入opts.params作参数 |
opts.views.templateProvider |
|
指定当前模板的提供者,它可以是一个Promise,也可以为一个函数,传入opts.params作参数 views的结构为
{
"": {template: "xxx"}
"aaa": {template: "xxx"}
"bbb@": {template: "xxx"}
}
views的每个键名(keyname)的结构为viewname@statename, 如果名字不存在@,则viewname直接为keyname,statename为opts.stateName
如果名字存在@, viewname为match[0], statename为match[1] |
opts.onBeforeLoad |
|
模板还没有插入DOM树执行的回调,this指向[ms-view]元素节点集合,参数为关联的state对象 |
opts.onAfterLoad |
|
模板插入DOM树执行的回调,this指向[ms-view]元素节点,参数为为关联的state对象 |
opts.onBeforeChange |
|
切入某个state之前触发,this指向对应的state,如果return false则会中断并退出整个状态机 |
opts.onChange |
|
当切换为当前状态时调用的回调,this指向状态对象,参数为匹配的参数, 我们可以在此方法 定义此模板用到的VM, 或修改VM的属性 |
opts.onBeforeUnload |
|
state退出前触发,this指向对应的state,如果return false则会中断并退出整个状态机 |
opts.onAfterUnload |
|
退出后触发,this指向对应的state |
opts.abstract |
|
表示它不参与匹配,this指向对应的state |
opts.parentState |
private |
父状态对象(框架内部生成) |
|
config(config) |
Function |
|
avalon.state.config 全局配置
参数名/返回值 |
类型 |
说明 |
config |
Object |
config 配置对象 |
config.beforeUnload |
Function |
开始切前的回调,this指向router对象,第一个参数是fromState,第二个参数是toState,return false可以用来阻止切换进行 |
config.abort |
Function |
请使用onAbort |
config.onAbort |
Function |
beforeUnload return false之后,触发的回调,this指向mmState对象,参数同beforeUnload |
config.unload |
Function |
url切换时候触发,this指向mmState对象,参数同beforeUnload |
config.begin |
Function |
请使用onBegin |
config.onBegin |
Function |
开始切换的回调,this指向mmState对象,参数同beforeUnload,如果配置了onBegin,则忽略begin |
config.onload |
Function |
切换完成并成功,this指向mmState对象,参数同beforeUnload |
config.onViewEnter |
Function |
视图插入动画函数,有一个默认效果 |
config.onViewEnter.arguments[0] |
Node |
新视图节点 |
config.onViewEnter.arguments[1] |
Node |
旧的节点 |
config.onloadError |
Function |
加载模板资源出错的回调,this指向对应的state,第一个参数对应的模板配置keyname,第二个参数是对应的state |
|
getQuery() |
Function |
|
state.getQuery 获取state的query,等价于state.query
onChange: function() {
var query = this.getQuery()
or
this.query
}
|
getParams() |
Function |
|
state.getParams 获取state的params,等价于state.params
onChange: function() {
var params = this.getParams()
or
this.params
}
|
async() |
Function |
|
state.async 表示当前的状态是异步,中断状态chain的继续执行,返回一个done函数,通过done(false)终止状态链的执行,任意其他非false参数,将继续
onChange: function() {
var done = this.async()
setTimeout(done, 4000)
}
|