ams

ams.$prevReturn

  • 类型: any
  • 用法:action调用显式的返回值,会自动更新 $prevReturn,用于action参数传递,可以通过 ams.$prevReturn = undefined 或者 @clearReturn action来清空 $prevReturn

ams.actions

  • 类型: object(只读)
  • 用法:全局的action引用,可以访问到通过 ams.action() 注册的action

ams.blocks

  • 类型: object(只读)
  • 用法:全局的block引用,可以访问到通过 ams.block() 注册的block

ams.$blocks

  • 类型: object(只读)
  • 用法:全局的block vue对象引用,可以访问到已渲染的通过 ams.block() 注册的block vue对象

ams.resources

  • 类型: object(只读)
  • 用法:全局的resource引用,可以访问到通过 ams.resource() 注册的resource

ams.action(name, action)

  • 参数:
    • name: string
    • action: function
  • 用法:注册一个全局action,详见 event 与 action

ams.resource(name, resource)

  • 参数:
    • name: string
    • resource: object
  • 用法:注册一个资源,参考 resource

ams.block(name, block)

  • 参数:
    • name: string
    • block: object
  • 用法:注册一个区块,参考 block

ams.render(name, el)

  • 参数:
    • name: string
    • block: string | HTMLElement
  • 用法:将区块渲染到el上面,

注册block时可以传入 render: el,和注册block后再调用 ams.render 一样

ams.$on( event, callback )

  • 参数:

    • {string | Array<string>} event
    • {Function} callback
  • 用法:

监听当前实例上的自定义事件。事件可以由ams.$emit触发。回调函数会接收所有传入事件触发函数的额外参数。

  • 示例:
  1. ams.$on('test', function (msg) {
  2. console.log(msg)
  3. })
  4. ams.$emit('test', 'hi')
  5. // => "hi"

ams.$once( event, callback )

  • 参数:

    • {string} event
    • {Function} callback
  • 用法:

监听一个自定义事件,但是只触发一次,在第一次触发之后移除监听器。

ams.$off( [event, callback] )

  • 参数:

    • {string | Array<string>} event
    • {Function} [callback]
  • 用法:

移除自定义事件监听器。

  • 如果没有提供参数,则移除所有的事件监听器;

  • 如果只提供了事件,则移除该事件所有的监听器;

  • 如果同时提供了事件与回调,则只移除这个回调的监听器。

ams.$emit( eventName, […args] )

  • 参数:

    • {string} eventName
    • […args]触发当前实例上的事件。附加参数都会传给监听器回调。

ams.param(data)

  • 参数:
    • data: object
  • 用法:返回将post数据 data序列化为x-www-form-urlencoded格式

ams.createApiAction(params:)

  • 参数:
    • params: object
      • getOptions: async Function 请求参数获取回调
      • beforeRequest: async Function 请求前处理参数回调
      • success: async Function 成功回调
  • 返回:
    • async Function

ams.request(opt)

  • 参数:

    • opt: `object
      • opt.method:'get' | 'post'
      • url:string
      • data:object
      • params:object
      • headers:object
      • withCredentials:boolean,
      • contentType 'json' | 'form'
  • 返回:

    • Promise
  • 用法:

参数类似 axiosams - 图1

ams.configs

  • 类型: object(只读)
  • 用法:获取config配置,可以通过ams.config(obj)更改

ams.config(cfg)

  • 参数:
    • cfg: object 会深度合并 ams.configs
  • 用法:深度合并 ams.configs里面的配置

ams.deepCloneConfig(cfg)

  • 参数:
    • cfg: object
  • 用法:可以通过base简化配置,ams.blockams.resource 先都会经过 ams.deepCloneConfig 处理

详见 配置简化(默认配置)

ams.callAction(acitonName = '', args = {})

  • 参数:
    • acitonName: string
    • args: object
  • 用法:调用 actionevent,如全局action: ams.callAction('routerPush:/login') ,调用某个block的action:ams.callAction('formEdit.init')
  1. // 例子:请求列表接口listaction,并且传page和type两个参数(如果是接口的get参数,记得不要少了外层的params)
  2. ams.callAction('list', {
  3. params: {
  4. page: 10,
  5. type: 'Andriod'
  6. }
  7. })