56.8696946c.js 12 KB

1
  1. (window.webpackJsonp=window.webpackJsonp||[]).push([[56],{375:function(t,a,s){"use strict";s.r(a);var e=s(17),n=Object(e.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h2",{attrs:{id:"getapp"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getapp"}},[t._v("#")]),t._v(" getApp()")]),t._v(" "),a("p",[a("code",[t._v("getApp()")]),t._v(" 函数用于获取当前应用实例,一般用于获取globalData 。")]),t._v(" "),a("p",[a("strong",[t._v("实例")])]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" app "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getApp")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nconsole"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("app"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("globalData"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" \n")])])]),a("p",[a("strong",[t._v("注意:")])]),t._v(" "),a("ul",[a("li",[t._v("通过 getApp() 获取实例之后,不要私自调用生命周期函数。")])]),t._v(" "),a("h2",{attrs:{id:"getcurrentpages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getcurrentpages"}},[t._v("#")]),t._v(" getCurrentPages()")]),t._v(" "),a("p",[a("code",[t._v("getCurrentPages()")]),t._v(" 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。")]),t._v(" "),a("p",[a("strong",[t._v("注意:")]),t._v(" "),a("code",[t._v("getCurrentPages()")]),t._v("仅用于展示页面栈的情况,请勿修改页面栈,以免造成页面状态错误。")]),t._v(" "),a("p",[t._v("每个页面实例的方法属性列表:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("方法")]),t._v(" "),a("th",[t._v("描述")]),t._v(" "),a("th",[t._v("平台说明")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("page.$getAppWebview()")]),t._v(" "),a("td",[t._v("获取当前页面的webview对象实例")]),t._v(" "),a("td",[t._v("5+App")])]),t._v(" "),a("tr",[a("td",[t._v("page.route")]),t._v(" "),a("td",[t._v("获取当前页面的路由")]),t._v(" "),a("td")])])]),t._v(" "),a("p",[t._v("Tips:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("navigateTo")]),t._v(", "),a("code",[t._v("redirectTo")]),t._v(" 只能打开非 tabBar 页面。")]),t._v(" "),a("li",[a("code",[t._v("switchTab")]),t._v(" 只能打开 "),a("code",[t._v("tabBar")]),t._v(" 页面。")]),t._v(" "),a("li",[a("code",[t._v("reLaunch")]),t._v(" 可以打开任意页面。")]),t._v(" "),a("li",[t._v("页面底部的 "),a("code",[t._v("tabBar")]),t._v(" 由页面决定,即只要是定义为 "),a("code",[t._v("tabBar")]),t._v(" 的页面,底部都有 "),a("code",[t._v("tabBar")]),t._v("。")]),t._v(" "),a("li",[t._v("不能在 "),a("code",[t._v("App.vue")]),t._v(" 里面进行页面跳转。")])]),t._v(" "),a("h2",{attrs:{id:"getappwebview"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getappwebview"}},[t._v("#")]),t._v(" $getAppWebview()")]),t._v(" "),a("p",[a("code",[t._v("uni-app")]),t._v(" 在 "),a("code",[t._v("getCurrentPages()")]),t._v("获得的页面里内置了一个方法 "),a("code",[t._v("$getAppWebview()")]),t._v(" 可以得到当前webview的对象实例,从而实现对 webview 更强大的控制。在 html5Plus 中,plus.webview具有强大的控制能力,可参考:"),a("a",{attrs:{href:"http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewObject",target:"_blank",rel:"noopener noreferrer"}},[t._v("WebviewObject"),a("OutboundLink")],1),t._v("。")]),t._v(" "),a("p",[t._v("但"),a("code",[t._v("uni-app")]),t._v("框架有自己的窗口管理机制,请不要自己创建和销毁webview,如有需求覆盖子窗体上去,请使用"),a("a",{attrs:{href:"/api/window/subNVues"}},[t._v("原生子窗体subNvue")]),t._v("。")]),t._v(" "),a("p",[a("strong",[t._v("注意:此方法仅 5+app 支持")])]),t._v(" "),a("p",[a("strong",[t._v("示例:")])]),t._v(" "),a("p",[t._v("获取当前页面 webview 的对象实例")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("title")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Hello'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("onLoad")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// #ifdef APP-PLUS")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" currentWebview "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("$mp"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("page"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("$getAppWebview")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("//此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里,直接使用plus.webview.currentWebview()无效")]),t._v("\n currentWebview"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("setBounce")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("position")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("top")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'100px'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("changeoffset")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("top")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'0px'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("//动态重设bounce效果")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// #endif")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("获取指定页面 webview 的对象实例")]),t._v(" "),a("p",[a("code",[t._v("getCurrentPages()")]),t._v("可以得到所有页面对象,然后根据数组,可以取指定的页面webview对象")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" pages "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getCurrentPages")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" page "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" pages"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("pages"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("length "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("-")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// #ifdef APP-PLUS")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" currentWebview "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" page"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("$getAppWebview")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nconsole"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("currentWebview"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("//获得当前webview的id")]),t._v("\nconsole"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("currentWebview"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("isVisible")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("//查询当前webview是否可见")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// #endif")]),t._v("\n")])])]),a("p",[t._v("uni-app自带的web-view组件,是页面中新插入的一个子webview。获取该对象的方法见:"),a("a",{attrs:{href:"https://ask.dcloud.net.cn/article/35036",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://ask.dcloud.net.cn/article/35036"),a("OutboundLink")],1)])])}),[],!1,null,null,null);a.default=n.exports}}]);