前端【小程序】07-小程序基础篇【框架接口】【获取APP实例】【获取页面栈页面实例】
获取昵称和头像
-
用户昵称
input组件的type属性设置为nickname- 监听
input组件的blur事件(在开发者工具中需要失去焦点两次) - 事件回调中通过事件对象
ev.detail获取用户昵称
-
用户头像
button组件的open-type属性设置为chooseAvatar- 监听
button组件的chooseavatar事件(没有大写字母) - 事件回调中通过事件对象
ev.detail.avatarUrl
1 <view class="profile"> 2 <view class="nickname"> 3 <label for="">昵称:</label> 4 <input type="nickname" /> 5 </view> 6 <view class="avatar"> 7 <label for="">头像:</label> 8 <button> 9 <image src="" mode="aspectFill"/> 10 </button> 11 </view> 12 </view>
获取App实例
文档:https://developers.weixin.qq.com/miniprogram/dev/reference/api/getApp.html
通过getApp()方法,拿到app.js中定义的App实例

数据也可以不写在globalData中

在页面中通过getApp()拿到App实例,修改其中的数据
1 // pages/framework/index.js 2 Page({ 3 setToken () { 4 // 获取到app实例 5 const app = getApp() 6 // 修改app实例中globalData中定义的token的值 7 app.globalData.token = 'abcdefg' 8 } 9 })
获取页面栈(页面实例 )
文档:https://developers.weixin.qq.com/miniprogram/dev/reference/api/getCurrentPages.html
页面栈本质上是一个数组,它记录着当前打开的全部页面历史,页面栈中的每个单元即为一个页面实例(调用 Page 函数时会注册页面实例)。
全局调用 getCurrentPages 函数可以获取当前的页面栈,通过页面栈可以看到所有的页面实例,借助于页面栈可以获取到页面中的一些有用信息:
data页面的初始数据setData更新数据onShow、onLoad等生命周期route页面的路径
在控制台通过getCurrentPages函数获取页面栈(在tabBar页面获取的时候,数组中只会有一项,当前tabBar页,因为跳转tabBar的时候,会关闭掉其他页面)

在页面中通过getCurrentPages()拿到当前页面实例
1 // pages/framework/index.js 2 Page({ 9 10 getPage() { 11 const pages = getCurrentPages() 12 // 拿到的页面栈中,最后一项就是当前页面实例 13 const currentPage = pages[pages.length -1] 14 console.log(currentPage) 15 } 16 })

浙公网安备 33010602011771号