View

static currentState

获取当前的浏览状态。

签名:

View.currentState: ViewState

可用版本:1.6.2+

返回:

当前的浏览状态,反映了当前活动视图的浏览信息。

static context

公用数据存取上下文,用于跨视图存取数据。 当需要抽取变量,使得可以跨视图访问时,开发者应当尽可能地使用公用上下文,而非 window,以降低变量污染的可能。

签名:

View.context: ViewContext

可用版本:1.6.2+

返回:

公用的数据存取上下文。

static checkIfBrowserHistorySupportsPushPopAction()

判断浏览器的 history 对象是否支持 pushState API。

签名:

View.checkIfBrowserHistorySupportsPushPopAction(): boolean

可用版本:1.6.2+

入参:

返回:

true - 浏览器的 history 对象支持 pushState API。否则返回 false

static getViewContainerDomElement()

获取视图容器对应的 DOM 元素。

签名:

View.getViewContainerDomElement(): HTMLElement

可用版本:1.6.2+

入参:

返回:

视图容器对应的 DOM 元素。如果开发者没有另外设置,将返回 document.body

static find()

从 DOM 树中获取匹配给定选择器的 DOM 元素。

签名:

View.find(rootObj?: HTMLElement, selector: string): HTMLElement

可用版本:1.6.2+

入参:

  • rootObj?: HTMLElement - 检索 DOM 元素的根元素,可选。默认为视图容器。

  • selector: string - 选择器。

返回:

给定根元素下,匹配给定选择器的 DOM 元素。如果没有 DOM 元素与之对应,则返回 null

调用举例:

static findAll()

从 DOM 树中获取匹配给定选择器的多个 DOM 元素。

签名:

View.findAll(rootObj?: HTMLElement, selector: string): NodeList | null

可用版本:1.6.2+

入参:

  • rootObj?: HTMLElement - 检索 DOM 元素的根元素,可选。默认为视图容器。

  • selector: string - 选择器。

返回:

给定根元素下,匹配给定选择器的多个 DOM 元素。如果给定的 rootObjnull ,则返回 null

static ofId()

获取视图实例。

签名:

View.ofId(viewId: string, viewNamespace?: string): View

可用版本:1.6.2+

入参:

  • viewId: string - 视图ID。

  • viewNamespace?: string - 视图隶属的命名空间。可选,默认为:default

返回:

匹配的视图实例。

static ifExists()

判断视图是否存在。

签名:

View.ifExists(viewId: string, viewNamespace?: string): boolean

可用版本:1.6.2+

入参:

  • viewId: string - 视图ID。

  • viewNamespace?: string - 视图隶属的命名空间。可选,默认为:default

返回:

true - 视图存在,false - 视图不存在。

static listAll()

列举所有视图。

签名:

View.listAll(viewName?: string): View[]

可用版本:1.6.2+

入参:

  • viewName?: string - 视图名称,可选。如果为空,则返回所有视图实例。否则返回声明为该名称的视图实例。不区分大小写。

返回:

匹配给定名称的,或者所有实例化的视图实例组成的数组。

static listAllViewNames()

列举被视图声明了的所有视图名称。

签名:

View.listAllViewNames(): string[]

可用版本:1.6.2+

入参:

无。

返回:

被视图声明的所有视图名称。如果没有任何视图声明有视图名称,将返回空数组。

视图名称在视图的 DOM 骨架上,使用 data-view-name 属性声明。

static setAsDefault()

设置给定的视图为默认视图。

签名:

View.setAsDefault(viewId: string, viewNamespace?: string): View

可用版本:1.6.2+

入参:

  • viewId: string - 视图ID。

  • viewNamespace?: string - 视图隶属的命名空间。可选,默认为:default

返回:

window.View 以供开发者链式调用。

static isDirectlyAccessible()

判断所有视图默认是否可以直接访问。

签名:

View.isDirectlyAccessible(): boolean

可用版本:1.6.2+

入参:

无。

返回:

true - 视图默认可以直接访问,false - 视图默认不可以直接访问。

如果没有单独声明,视图将使用该默认值决定自己是否可以直接访问。

static setIsDirectlyAccessible()

设置所有视图默认是否可以直接访问。

签名:

View.setIsDirectlyAccessible(isDirectlyAccessible: boolean): View

可用版本:1.6.2+

入参:

  • isDirectlyAccessible: boolean - 是否可以直接访问。

返回:

window.View 以供开发者链式调用。

static setViewIsDirectlyAccessible()

设置特定视图是否可以直接访问。

签名:

View.setIsDirectlyAccessible(viewId: string, viewNamespace?: string, isDirectlyAccessible: boolean): View

可用版本:1.6.2+

入参:

  • viewId: string - 视图ID。

  • viewNamespace?: string - 视图隶属的命名空间。可选,默认为:default

  • isDirectlyAccessible: boolean - 是否可以直接访问。

返回:

window.View 以供开发者链式调用。

有别于 viewInstance.setIsDirectlyAccessible() ,该方法可以在 View.js 完成初始化之前调用。

static getActiveView()

获取当前的活动视图。

签名:

View.getActiveView(): View | null

可用版本:1.6.2+

入参:

无。

返回:

当前处于活动状态的视图。如果没有视图处于活动状态(如:View.js 尚未完成初始化),则返回 null

static getDefaultView()

获取默认视图。

签名:

View.getDefaultView(): View | null

可用版本:1.6.2+

入参:

无。

返回:

默认视图。如果 View.js 尚未完成初始化,则返回 null

static getSwitchAnimation()

获取设置的视图跳转动画执行器。

签名:

View.getSwitchAnimation(): ViewSwitchAnimation | null

可用版本:1.6.2+

入参:

无。

返回:

设置的视图跳转动画执行器。如果没有设置,则返回 null

static setSwitchAnimation()

设置视图跳转动画执行器。

签名:

View.setSwitchAnimation(animation: ViewSwitchAnimation): View

可用版本:1.6.2+

入参:

无。

返回:

window.View 以供开发者链式调用。

static getActiveViewOptions()

获取体现在地址栏中的,当前活动视图的视图选项集合。

签名:

View.getActiveViewOptions(): Object | null

可用版本:1.6.2+

入参:

无。

返回:

当前活动视图的视图选项集合。视图选项以 key-value 的形式存放在集合中。如果没有任何视图选项,则返回 null

调用举例:

static hasActiveViewOptions()

判断当前活动视图的视图选项集合中,是否含有给定键名的参数。

签名:

View.hasActiveViewOptions(name: string): boolean

可用版本:1.6.2+

入参:

  • name: string - 参数的键名。

返回:

true - 视图选项集合不为 null ,且集合中含有 key 为给定键名的数据。否则,返回 false

static getActiveViewOptions()

从当前活动视图的视图选项集合中,获取给定键名的参数取值。

签名:

View.getActiveViewOptions(name: string): string | null

可用版本:1.6.2+

入参:

  • name: string - 参数的键名。

返回:

参数取值。如果集合为 null ,或参数不存在,则返回 null

static setActiveViewOptions()

为当前活动视图设置视图选项。

签名:

View.setActiveViewOptions(name: string, value: string): View

可用版本:1.6.2+

入参:

  • name: string - 参数的键名。

  • value: string - 参数的取值。

返回:

window.View 以供开发者链式调用。

static passBy()

“穿过”视图,用于在不渲染界面、不触发关联事件的情况下 “伪造” 视图的访问记录。

该方法自 1.7.0 开始被废弃(仍然可用),开发者可使用等价的 View.navBy() 替代。

签名:

View.passBy(viewId: string, viewNamespace?: string): View

可用版本:1.6.2+

入参:

  • viewId: string - 视图ID。

  • viewNamespace?: string - 视图隶属的命名空间。可选,默认为:default

返回:

window.View 以供开发者链式调用。

调用举例:

static navBy()

以 压入堆栈 的方式 “略过” 视图,用于在不渲染界面、不触发关联事件的情况下 “伪造” 视图的访问记录。

签名:

View.navBy(viewId: string, viewNamespace?: string): View

可用版本:1.7.0+

入参:

  • viewId: string - 视图ID。

  • viewNamespace?: string - 视图隶属的命名空间。可选,默认为:default

返回:

window.View 以供开发者链式调用。

调用举例:

static changeBy()

以 替换栈顶 的方式 “略过” 视图,用于在不渲染界面、不触发关联事件的情况下 “伪造” 视图的访问记录。

签名:

View.changeBy(viewId: string, viewNamespace?: string): View

可用版本:1.7.0+

入参:

  • viewId: string - 视图ID。

  • viewNamespace?: string - 视图隶属的命名空间。可选,默认为:default

返回:

window.View 以供开发者链式调用。

调用举例:

static navTo()

以 压入堆栈 的方式跳转至目标视图。

签名1:

View.navTo(viewId: string, viewNamespace?: string, ctrl: ViewSwitchCtrl): View

可用版本:1.6.2+

签名2:

View.navTo(viewInstance: View): View

可用版本:1.7.0+

入参:

  • viewId: string - 视图ID,或视图名称,或伪视图,或外部链接。

支持的伪视图包括:

  • :back - 前进,等同于 View.back()

  • :forward - 后退,等同于 View.forward()

  • :default-view - 默认视图;

例如:

当为视图名称时,需要使用 ~ 符号前缀,例如:

当为外部链接,且链接地址为完整路径时,可以直接赋值为链接地址,例如:

如果外部链接地址不完整,则需要使用 @ 符号前缀,例如:

  • viewNamespace?: string - 视图隶属的命名空间。可选,默认为:default

  • ctrl?: ViewSwitchCtrl - 视图跳转控制。可选。

  • viewInstance: View - 视图实例。

返回:

window.View 以供开发者链式调用。

调用举例:

1.7.0 开始,开发者可以通过 View.addSwitchInterceptor() 方法添加拦截器,阻止视图跳转动作的执行。

static changeTo()

以 替换栈顶 的方式跳转至目标视图。

签名1:

View.changeTo(viewId: string, viewNamespace?: string, ctrl: ViewSwitchCtrl): View

可用版本:1.6.2+

签名2:

View.changeTo(viewInstance: View): View

可用版本:1.7.0+

入参:

  • viewId: string - 视图ID,或视图名称,或伪视图,或外部链接。

支持的伪视图包括:

  • :default-view - 默认视图;

例如:

当为视图名称时,需要使用 ~ 符号前缀,例如:

当为外部链接,且链接地址为完整路径时,可以直接赋值为链接地址,例如:

如果外部链接地址不完整,则需要使用 @ 符号前缀,例如:

  • viewNamespace?: string - 视图隶属的命名空间。可选,默认为:default

  • ctrl?: ViewSwitchCtrl - 视图跳转控制。可选。

  • viewInstance: View - 视图实例。

返回:

window.View 以供开发者链式调用。

1.7.0 开始,开发者可以通过 View.addSwitchInterceptor() 方法添加拦截器,阻止视图跳转动作的执行。

static addSwitchInterceptor()

添加视图跳转拦截器。

签名:

View.addSwitchInterceptor(interceptor: ViewSwitchInterceptor): View

可用版本:1.7.0+

入参:

  • interceptor: ViewSwitchInterceptor - 拦截器。

返回:

window.View 以供开发者链式调用。

调用举例:

拦截器将按添加顺序顺序执行。

static getSwitchInterceptors()

获取添加的视图跳转拦截器列表。顺序与添加顺序保持一致。

签名:

View.getSwitchInterceptors(): ViewSwitchInterceptor[]

可用版本:1.7.0+

入参:

无。

返回:

与添加顺序保持一致的视图跳转拦截器列表。

static setNoViewToNavBackAction()

设置在“没有视图可以继续向前返回”的情况下,尝试返回时要执行的动作。 开发者可以借助该特性,实现 “没有页面可以继续向前返回时,跳转至首页” 的效果。

签名:

View.setNoViewToNavBackAction(action: Function): View

可用版本:1.6.2+

入参:

  • action: Function - 要执行的动作。

返回:

window.View 以供开发者链式调用。

调用举例:

static back()

返回至上一个视图。

签名:

View.back(ctrl?: ViewBackForwardCtrl): View

可用版本:1.6.2+

入参:

返回:

window.View 以供开发者链式调用。

static forward()

前进至下一个视图。

签名:

View.forward(ctrl?: ViewBackForwardCtrl): View

可用版本:1.6.2+

入参:

返回:

window.View 以供开发者链式调用。

static setDocumentTitle()

设置文档标题。 在视图之间发生跳转时,View.js 会自动使用目标视图定义的标题更新文档标题。如果目标视图没有定义标题,则会使用初始化阶段捕获的浏览器标题呈现。如果初始化阶段的文档不是文档的最终标题,开发者需要在适当时机执行该方法。 View.js 默认在 DOMContentloaded 事件触发后进行初始化。

签名:

View.setDocumentTitle(title: string): View

可用版本:1.6.2+

入参:

  • title: string - 文档标题。

返回:

window.View 以供开发者链式调用。

static reDoLayout()

执行所有视图的布局动作。 每个视图实例都可以通过 setLayoutAction() 方法设置自己的布局动作。布局动作默认在视图进入时由 View.js 自动执行。必要时,开发者可以通过调用本方法强制所有视图重新布局。

签名:

View.reDoLayout(): View

可用版本:1.6.2+

入参:

无。

返回:

window.View 以供开发者链式调用。

static ifCanGoBack()

判断是否可以继续向前返回。亦即,历史堆栈中,是否还有更早的视图浏览记录。

签名:

View.ifCanGoBack(): boolean

可用版本:1.6.2+

入参:

无。

返回:

true - 可以继续向前返回;false - 已经返回到底了。

static beforeInit()

添加 View.js 初始化前要执行的处理器。

签名:

View.beforeInit(action: Function): View

可用版本:1.6.2+

入参:

  • action: Function - 处理器。

返回:

window.View 以供开发者链式调用。

所有处理器均以 同步 的方式被触发。

static ready()

添加 View.js 就绪后要执行的处理器。

签名:

View.ready(action: Function): View

可用版本:1.6.2+

入参:

  • action: Function - 处理器。

返回:

window.View 以供开发者链式调用。

所有处理器均以 同步 的方式被触发。

static setInitializer()

设置 View.js 的初始化触发器。

签名:

View.setInitializer(initializer: ViewInitializer, execTime?: ViewInitializeTime): View

可用版本:1.6.2+

入参:

返回:

window.View 以供开发者链式调用。

static init()

初始化 View.js 。

签名:

View.init(): View

可用版本:1.7.0+

入参:

无。

返回:

window.View 以供开发者链式调用。

static on()

添加宏观事件监听器。预置的宏观事件包括: 1. beforechange - 活动视图即将切换(同步触发) 2. change - 活动视图正在切换(同步触发) 3. afterchange - 活动视图切换完成(异步触发)

开发者也可以使用该方法监听自定义事件。

签名:

View.on(eventName: string, handle: ViewEventListener): View

可用版本:1.6.2+

入参:

返回:

window.View 以供开发者链式调用。

调用举例:

static off()

移除宏观事件监听器。预置的宏观事件包括: 1. beforechange - 活动视图即将切换(同步触发) 2. change - 活动视图正在切换(同步触发) 3. afterchange - 活动视图切换完成(异步触发)

签名:

View.off(eventName: string, handle: ViewEventListener): View

可用版本:1.6.2+

入参:

返回:

window.View 以供开发者链式调用。

static fire()

发起宏观事件。

签名:

View.fire(eventName: string, data?: any): View

可用版本:1.6.2+

入参:

  • eventName: string - 事件名称。

  • data?: any - 事件关联数据 。

返回:

window.View 以供开发者链式调用。

调用举例:

static SWITCHTYPE_HISTORYFORWARD

视图切换方式:浏览器前进。只读。

签名:

View.SWITCHTYPE_HISTORYFORWARD: string

可用版本:1.6.2+

static SWITCHTYPE_HISTORYBACK

视图切换方式:浏览器后退。只读。

签名:

View.SWITCHTYPE_HISTORYBACK: string

可用版本:1.6.2+

static SWITCHTYPE_VIEWNAV

视图切换方式:“压入堆栈” 式前进。只读。

签名:

View.SWITCHTYPE_VIEWNAV: string

可用版本:1.6.2+

static SWITCHTYPE_VIEWCHANGE

视图切换方式:“替换栈顶” 式前进。只读。

签名:

View.SWITCHTYPE_VIEWCHANGE: string

可用版本:1.6.2+

static SWITCHTRIGGER_APP

视图跳转动作触发来源:应用程序。只读。

签名:

View.SWITCHTRIGGER_APP: string

可用版本:1.6.2+

static SWITCHTRIGGER_NAVIGATOR

视图跳转动作触发来源:浏览器。只读。

签名:

View.SWITCHTRIGGER_NAVIGATOR: string

可用版本:1.6.2+

id

获取视图的ID。只读。

签名:

viewInstance.id: string

可用版本:1.6.2+

返回:

视图的ID。

namespace

获取视图隶属的命名空间。只读。

签名:

viewInstance.namespace: string

可用版本:1.6.2+

返回:

视图隶属的命名空间。

除非另外声明,否则视图的命名空间将默认为:default

logger

获取视图内置的日志句柄。只读。

签名:

viewInstance.logger: View.Logger

可用版本:1.6.2+

返回:

视图内置的日志数据句柄。

config

获取视图内置的配置集合。只读。

签名:

viewInstance.config: ViewConfigurationSet

可用版本:1.6.2+

返回:

视图内置的配置集合。

context

获取视图内置的数据存取上下文。只读。

签名:

viewInstance.context: ViewContext

可用版本:1.6.2+

返回:

视图内置的数据存取上下文。

getId()

获取视图的ID,等同于 id 属性。

签名:

viewInstance.getId(): string

可用版本:1.6.2+

入参:

无。

返回:

视图的ID。

getNamespace()

获取视图隶属的命名空间,等同于 namespace 属性。

签名:

viewInstance.getNamespace(): string

可用版本:1.6.2+

入参:

无。

返回:

视图隶属的命名空间。

除非另外声明,否则视图的命名空间将默认为:default

getContext()

获取视图内置的数据存取上下文,等同于 context 属性。

签名:

viewInstance.getContext(): ViewContext

可用版本:1.6.2+

入参:

无。

返回:

视图内置的数据存取上下文。

clearContext()

清空视图内置的数据存取上下文,移除上下文内的所有数据。

签名:

viewInstance.clearContext(): View

可用版本:1.6.2+

入参:

无。

返回:

视图实例本身,以供开发者链式调用。

getDomElement()

获取视图的 DOM 骨架元素。

签名:

viewInstance.getDomElement(): HTMLElement

可用版本:1.6.2+

入参:

无。

返回:

视图的 DOM 骨架元素。

getName()

获取视图的名称。视图名称,通过在视图的 DOM 骨架元素上声明 data-view-name 属性完成声明。 该方法向后兼容 data-view-group 属性。

签名:

viewInstance.getName(): string | null

可用版本:1.6.2+

入参:

无。

返回:

视图在 DOM 骨架上声明的名称。

getGroupName()

获取视图隶属的群组名称。视图群组名称,通过在视图的 DOM 骨架元素上声明 data-view-group 属性完成声明。 该方法,以及 data-view-group 属性已废弃,请使用 getName() 方法和 data-view-name 属性。

签名:

viewInstance.getGroupName(): string | null

可用版本:1.6.2+

入参:

无。

返回:

视图隶属的群组名称。

find()

在视图的 DOM 骨架元素内部查找匹配给定选择器的 DOM 元素。

签名:

viewInstance.find(selector: string): HTMLElement | null

可用版本:1.6.2+

入参:

  • selector: string - css 选择器

返回:

视图内匹配的 DOM 元素。如果没有元素与给定的选择器相匹配,则返回 null

findAll()

在视图的 DOM 骨架元素内部查找匹配给定选择器的 DOM 元素集合。

签名:

viewInstance.findAll(selector: string): NodeList

可用版本:1.6.2+

入参:

  • selector: string - css 选择器

返回:

视图内匹配的 DOM 元素列表。

setLayoutAction()

设置视图的布局动作。

签名:

viewInstance.setLayoutAction(action: Function): View

可用版本:1.6.2+

入参:

  • action: Function - 布局动作

返回:

视图实例本身,以供开发者链式调用。

调用举例:

getLayoutAction()

获取设置的视图布局动作。

签名:

viewInstance.getLayoutAction(): Function

可用版本:1.6.2+

入参:

无。

返回:

设置的视图布局动作。

如果开发者没有设置布局动作,该方法将返回一个空方法。

hasParameter()

判断视图参数中是否含有给定键名的参数。

签名:

viewInstance.hasParameter(paramName: string): boolean

可用版本:1.6.2+

入参:

  • paramName: string - 参数的键名。区分大小写。

返回:

true - 视图参数中有给定键名的参数;false - 没有给定键名的参数。

方法应该在视图是活动状态时调用,否则永远会得到 false 。因为视图参数将会在视图离开被重置。

getParameter()

获取视图参数。

签名:

viewInstance.getParameter(paramName?: string): any | null

可用版本:1.6.2+

入参:

  • paramName?: string - 参数的键名,可选。如果没有指定该参数,将返回所有视图参数构成的集合。区分大小写。

返回:

视图参数中匹配给定键名的参数取值。如果没有指定参数键名,则返回整个参数集合。如果视图跳转时没有指定视图参数,则返回 null

setIfAutoSaveParamsToContext()

设置是否自动保存视图参数至视图上下文。如果赋值为 true ,则视图每次进入时,如果视图参数不为空且为一个有效对象,View.js 将自动使用名称形如:“_autosavedparams_qx4esdf74k” 的键将其存储至视图上下文中。

签名:

viewInstance.setIfAutoSaveParamsToContext(autoSave?: boolean): View

可用版本:1.6.3+

入参:

  • autoSave?: boolean - 是否自动保存,可选。默认为:true

返回:

视图实例本身,以供开发者链式调用 。

视图参数在每次进入视图时均会被重置。通过自动保存至上下文,结合 view.seekParameter() 方法,开发者可以在没有收到入参时,继续使用最后一次收到的参数。

1.7.0 版本开始,开发者也可以在调用 view.seekParmeter() 方法时,指定 “不存上下文中检索” 。

getIfAutoSaveParamsToContext()

判断该视图是否自动保存视图参数至视图上下文。

签名:

viewInstance.getIfAutoSaveParamsToContext(): boolean

可用版本:1.6.3+

入参:

无。

返回:

true - 自动保存;false - 不自动保存。

setDataFetchAction()

设置视图渲染所需要的数据的获取方法。该方法用于辅助实现视图进入时的完整性体验。

签名:

viewInstance.setDataFetchAction(action: ViewDataFetchAction): View

可用版本:1.7.0+

入参:

无。

返回:

视图实例本身,以供开发者链式调用 。

getDataFetchAction()

获取设置的视图渲染所需要的数据的获取方法。

签名:

viewInstance.getDataFetchAction(): ViewDataFetchAction

可用版本:1.7.0+

入参:

无。

返回:

设置的视图渲染所需要的数据的获取方法。如果开发者没有设置,则返回 null

fetchData()

获取视图渲染所需要的数据。

签名:

viewInstance.fetchData(): Promise | Thenable

可用版本:1.7.0+

入参:

无。

返回:

Promise 实例(浏览器支持 Promise); Thenable - 包含有 then 方法的对象(浏览器不支持 Promise

seekParameter()

搜寻视图收到的参数。

签名:

viewInstance.seekParameter(paramName: string, ifRetrieveFromContext?: boolean): any | null

可用版本:1.6.2+

入参:

  • paramName: string - 参数的键名。

  • ifRetrieveFromContext?: boolean - 是否从上下文中检索参数(仅当自动保存视图参数至视图上下文时有效),可选。默认为:true 。 该参数是 1.7.0 新增的。

返回:

视图参数,或视图选项,或地址栏 queryString 中匹配给定键名的参数取值,或最后一次收到的、自动保存至视图上下文中的视图参数 。

该方法如下方式工作:

  1. 尝试从 视图参数 中检索同名参数,有则返回,没有则执行步骤2;

  2. 尝试从 视图选项 中检索同名参数,有则返回,没有则执行步骤3;

  3. 尝试从 queryString 中 检索同名参数,有则返回对应的取值,没有则执行步骤4;

  4. 如果 ifRetrieveFromContexttrue,尝试从 自动保存至视图上下文的视图参数 中检索同名参数,没有则返回 null

步骤 4 是 1.6.3 新增的。

调用举例:

isReady()

判断视图是否已经就绪。

签名:

viewInstance.isReady(): boolean

可用版本:1.6.2+

入参:

无。

返回:

true - 视图已经就绪;false - 视图尚未就绪 。

视图在第一次进入时,enter 事件触发前变为就绪状态。关联事件名称为:ready

isActive()

判断视图是否处于活动状态,亦即视图当前是否为活动视图。

签名:

viewInstance.isActive(): boolean

可用版本:1.6.2+

入参:

无。

返回:

true - 视图处于活动状态;false - 视图没有处于活动状态 。

isDefault()

判断视图是否是默认视图。

签名:

viewInstance.isDefault(): boolean

可用版本:1.6.2+

入参:

无。

返回:

true - 视图是默认视图;false - 视图不是默认视图 。

isDirectlyAccessible()

判断视图是否可以直接访问。

签名:

viewInstance.isDirectlyAccessible(): boolean

可用版本:1.6.2+

入参:

无。

返回:

true - 视图可以直接访问;false - 视图不可以直接访问 。

setAsDirectlyAccessible()

设置视图是否可以直接访问。

签名:

viewInstance.setDirectlyAccessible(isDirectlyAccessible?: boolean): View

可用版本:1.6.2+

入参:

  • isDirectlyAccessible?: boolean - 是否可以直接访问,可选。默认为:true

返回:

视图本身,以供开发者链式调用。

setTitle()

设置视图标题。当视图变为活动状态,View.js 将自动使用设置的视图标题更新浏览器标题。

签名:

viewInstance.setTitle(title: string): View

可用版本:1.6.2+

入参:

  • title: string - 视图标题。

返回:

视图本身,以供开发者链式调用。

如果活动视图没有设置视图标题,View.js 将使用初始化阶段捕获的浏览器标题更新浏览器标题。

getTitle()

获取设置的视图标题。

签名:

viewInstance.getTitle(): string | null

可用版本:1.6.2+

入参:

无。

返回:

设置的视图标题。如果尚未设置过标题,则返回 null

setFallbackViewId()

设置回退视图的ID(及命名空间)。

签名:

viewInstance.setFallbackViewId(viewId: string, viewNamespace?: string): View

可用版本:1.6.2+

入参:

  • viewId: string - 要回退显示的视图的ID。

  • viewNamespace?: string - 要回退显示的视图隶属的命名空间,可选。默认为: default

返回:

视图本身,以供开发者链式调用。

getFallbackView()

获取最终要回退显示的视图。

签名:

viewInstance.getFallbackViewId(): View

可用版本:1.6.2+

入参:

无。

返回:

最终回退显示的视图。

on()

添加视图实例事件监听器。预置的实例事件包括: 1. leave - 离开视图(异步触发) 2. beforeenter - 即将进入视图(同步触发) 3. ready - 视图就绪(同步触发) 4. enter - 进入视图(同步触发) 5. afterenter - 视图已经进入(同步触发) 开发者也可以使用该方法监听自定义事件。

签名:

viewInstance.on(eventName: string, handle: ViewEventListener): View

可用版本:1.6.2+

入参:

返回:

当前视图实例,以供开发者链式调用。

调用举例:

off()

移除视图实例事件监听器。预置的实例事件包括: 1. leave - 离开视图(异步触发) 2. beforeenter - 即将进入视图(同步触发) 3. ready - 视图就绪(同步触发) 4. enter - 进入视图(同步触发) 5. afterenter - 视图已经进入(同步触发)

签名:

viewInstance.off(eventName: string, handle: ViewEventListener): View

可用版本:1.6.2+

入参:

返回:

当前视图实例,以供开发者链式调用。

fire()

发起视图实例事件。

签名:

viewInstance.fire(eventName: string, data?: any): View

可用版本:1.6.2+

入参:

  • eventName: string - 事件名称。

  • data?: any - 事件关联数据 。

返回:

当前视图实例,以供开发者链式调用。

调用举例:

getLatestEventData()

获取给定名称的事件最后一次触发时携带的数据。

签名:

viewInstance.getLatestEventData(eventName: string): any

可用版本:1.6.2+

入参:

  • eventName: string - 事件名称。

返回:

事件最后一次触发时所携带的数据。

调用举例:

addTimer()

添加视图活动时,需要周期性执行的定时器。

签名:

viewInstance.addTimer(timerName: string, timerHandle: Function, interval: Number): View

可用版本:1.7.0+

入参:

  • timerName: string - 定时器名称,不区分大小写。

  • timerHandle: Function - 定时器处理句柄。

  • interval: Number - 定时器周期性执行间隔。单位:毫秒。

返回:

视图本身,以供开发者链式调用。

通过该方法创建的定时器,将在视图进入时自动开始执行,在视图离开时,自动停止。 执行该方法时,视图处于活动状态,则定时器立即开始执行。

startTimer()

启动视图定时器。

签名:

viewInstance.startTimer(timerName: string): boolean

可用版本:1.7.0+

入参:

  • timerName: string - 定时器名称,不区分大小写。

返回:

true - 定时器启动成功;false - 定时器启动失败(定时器不存在,或已经启动)。

startAllTimers()

启动视图内的所有定时器。

签名:

viewInstance.startAllTimers(): View

可用版本:1.7.0+

入参:

无。

返回:

视图本身,以供开发者链式调用。

stopTimer()

停止视图定时器。

签名:

viewInstance.stopTimer(timerName: string): boolean

可用版本:1.7.0+

入参:

  • timerName: string - 定时器名称,不区分大小写。

返回:

true - 定时器停止成功;false - 定时器停止失败(定时器不存在,或尚未启动)。

stopAllTimers()

停止视图内的所有定时器。

签名:

viewInstance.stopAllTimers(): View

可用版本:1.7.0+

入参:

无。

返回:

视图本身,以供开发者链式调用。

Last updated

Was this helpful?