navigate

pm.navigateTo(url or obj)

保留当前页面,跳转到新页面,使用 pm.navigateBack() 可以返回到原页面。

参数 类型 描述 示例
url String 需要跳转的新页面路径 pm.navigateTo('page/main')
obj Object 包含需要跳转的新页面路径,以及相关参数¹ pm.navigateTo({url : 'page/main'}) , pm.navigateTo({url : 'page/main', value : 123})

¹ 该参数在新页面的 onLoad 函数内接收,url 与 value 是关键字,不能修改为其他。

* url 为基于工程目录的相对路径,value 为传到目标页的信息。page/main:代表 page 文件夹的下的名称为 main 的页面文件,page 的保存路径为当前 page 名称的文件夹下的 page 名称对应的文件,即 pageName/pageName

pm.redirectTo(url or obj)

关闭当前页面,跳转到新页面。

参数 类型 描述 示例
url String 需要跳转的新页面路径 pm.redirectTo('page/main')
obj Object 包含需要跳转的新页面路径,以及相关参数¹ pm.redirectTo({url : 'page/main'}),pm.redirectTo({url : 'page/main', value : 123})

pm.navigateBack()

返回到当前一级或多级上一级的 Page,并关闭当前一级或者多级 Page。

  • pm.navigateBack()

    无参数,用于返回上级 Page,并关闭当前 Page。

  • pm.navigateBack(value)

用于返回上级 Page,并关闭当前 Page,同时将 value 返回给上级 Page,作为上级 Page 的 onUpdate 函数的入参,上级 Page 需要有 onUpdate(event) 函数存在。

  • pm.navigateBack(value,number)

    用于返回多级 Page,并关闭当前 Page。注:value必填,但只有返回到的 Page 有 onUpdate 函数的时候才有使用意义,其他情况下一般填 null; number 代表要返回的 Page 级数。

pm.closePage(pageName)

关闭指定 Page 页面,参数 name 为要关闭的 Page 页面的名称。

// 关闭 page1 页面
pm.closePage('page1')

pm.getPages()

获取当前的页面栈,返回值 Number 类型,用于获取当前存在的 Page 个数。详见下文示例代码。

pm.getPageName()

获取当前页面的名称,返回值 String 类型,如 "page1"。详见下文示例代码。

pm.getPagesName()

获取当前所有已打开页面的名称,返回值 Array 类型,如 ["page2", "page1"]。详见下文示例代码。

pm.getPageObject()

获取当前 Page 页面对象,返回值 Object 类型,包含用户自定义的函数、变量等。详见下文示例代码。

示例

例如从 page1 使用 pm.navigateTo(url or obj) 函数依次跳转到 page4 : page1 → page2 → page3 → page4。

  • 在 page4 代码页面使用 pm.navigateBack() 表示返回到 page3。
  • 在 page4 代码页面使用 pm.redirectTo('page3/page3') 表示关闭当前页跳转到 page3,此时 page4 已被释放。
  • 在 page4 代码页面使用 pm.navigateBack(null, 3) 表示往前返回三级页面,即返回到 page1 页面。此时 page2、page3、page4 的内存会被释放掉。
  • 在 page4 代码页面使用 pm.getPages() 命令窗输出结果:4 ,表示已打开的页面数量有4个。
  • 在 page4 代码页面使用 pm.getPageName() 命令窗输出结果:"page4" ,表示当前页面的Name值。
  • 在 page4 代码页面使用 pm.getPagesName() 命令窗输出结果:["page4", "page3", "page2", "page1", ],表示当前已打开的所有页面。
  • 在 page4 代码页面使用
  • pm.closePage('page3') 表示关闭 page 名为 page3 的页面,此时再使用 pm.getPagesName() 只会输出 ["page4", "page2", "page1", ]
  • pm.closePage('page4') 则会返回到 page3,因为 page4 已经关闭。
  • 在 page4 代码页面使用 pm.getPageObject() 命令窗输出结果:{onLoad : [function], onResume : [function], onShow : [function], onHide : [function], onExit : [function], click : [function], inputStr : "", txtchange : [function], setData : [function], getData : [function], getMouseOwner : [function], requestAnimationFrame : [function], addListener : [function], removeListener : [function]},表示当前页面所有信息,其中 click, inputStr, txtchange 是页面的函数以及变量。