uniapp学习中

uniapp优缺点

优点: a. 一套代码可以生成多端 b. 学习成本低,语法是vue的,组件是小程序的 c. 拓展能力强 d. 使用HBuilderX开发,支持vue语法 e. 突破了系统对H5调用原生能力的限制 缺点: a. 问世时间短,很多地方不完善 b. 社区不大 c. 官方对问题的反馈不及时 d. 在Android平台上比微信小程序和iOS差 e. 文件命名受限

uniapp的配置文件、入口文件、主组件、页面管理部分

uniapp学习中_第1张图片

vue , 微信小程序 , uni-app属性的绑定

vue和uni-app动态绑定一个变量的值为元素的某个属性的时候,会在属性前面加上冒号":"; 小程序绑定某个变量的值为元素属性时,会用两个大括号{{}}括起来,如果不加括号,为被认为是字符串。

vue、小程序、uni-app中的本地数据存储和接收

vue:
    存储:localstorage.setItem(‘key’,‘value’)
    接收:localstorage.getItem(‘key’`)
​
微信小程序:
    存储:通过wx.setStorage/wx.setStorageSync写数据到缓存
    接收:通过wx.getStorage/wx.getStorageSync读取本地缓存,
​
uni-app:
    存储:uni.setStorage({key:“属性名”,data:“值”}) //异步 
        uni.setStorageSync(KEY,DATA) //同步
    接收:uni.getStorage({key:“属性名”,success(res){res.data}}) //异步
        uni.getStorageSync(KEY) //同步
    移除:uni.removeStorage(OBJECT) //从本地缓存中异步移除指定 key。
        uni.removeStorageSync(KEY) //从本地缓存中同步移除指定 key。
    清除:uni.clearStorage() //清理本地数据缓存。
        uni.clearStorageSync() //同步清理本地数据缓存。

页面调用接口

getApp() 函数 用于获取当前应用实例,一般用于获取globalData是简单的全局变量

getApp():获取全局对象,然后进行全局变量和全局方法的使用

getCurrentPages() 函数 用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。

uni.$emit(eventName,OBJECT)触发全局的自定义事件,附加参数都会传给监听器回调函数。

uni.$on(eventName,callback)监听全局的自定义事件,事件由 uni.$emit 触发,回调函数会接收事件触发函数的传入参数。

uni.$off([eventName, callback]):移除全局自定义事件监听器。

小程序/uni-app生命周期

1. onLoad:首次进入页面加载时触发,可以在 onLoad 的参数中获取打开当前页面路径中的参数。 ​ 2. onShow:加载完成后、后台切到前台或重新进入页面时触发 ​ 3. onReady:页面首次渲染完成时触发 ​ 4. onHide:从前台切到后台或进入其他页面触发 ​ 5. onUnload:页面卸载时触发 ​ 6. onPullDownRefresh:监听用户下拉动作 坡挡 瑞fei去 ​ 7. onReachBottom:页面上拉触底事件的处理函数 瑞去 波得 ​ 8. onShareAppMessage:用户点击右上角转发 靴apu meiseiG

unaipp中组件生命周期

vue一样

路由与页面跳转

他们的主要区别呢就是:

uni.navigateTo( ):保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面

uni.redirectTo( ):关闭当前页面跳转到应用内的某个页面。但是不能跳转 tabbar 页面 瑞得莱克T

uni.switchTab( ):跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 它波

uni.navigateBack( )关闭当前页面,返回上一页面或多级页面。可通过

getCurrentPages() 获取当前的页面栈,决定需要返回几层 卡瑞T

uni.reLaunch( ):关闭所有页面,打开到应用内的某个页面 瑞luang去

uniapp上传文件时使用的api

uni.uploadFile({ uplow得fai奥
        url: '要上传的地址',
            fileType:'image',
                filePath:'图片路径',
                name:'文件对应的key',
                success: function(res){
            console.log(res)
        },
    })
​

简述 rpx、px、em、rem、%、vh、vw的区别

    rpx 相当于把屏幕宽度分为750份,1份就是1rpx
    px  绝对单位,页面按精确像素展示
    em  相对单位,相对于它的父节点字体进行计算
    rem 相对单位,相对根节点html的字体大小来计算
    %   一般来说就是相对于父元素
    vh  视窗高度,1vh等于视窗高度的1%
    vw  视窗宽度,1vw等于视窗宽度的1%

vue、uni-app、小程序的页面传参方式区别

模板字符串 字符串拼接 通过跳转路径后面拼接参数来进行跳转传参

onLoad: function (option) {
    console.log(option)
}

uni.request封装

封装请求 以结果推导我们的方法

export function request(url,data={},method='GET'){
    return new Promise((resolve,reject)=>{
        发送请求
        wx.request({
            url:'https//.com'+url,
            method,
            data,
            success(res){
                resolve(res.data)
            }
            fail(err){
                console.log(err)
        }
        })
    })
}
​
import {request} from ''
requset('/list'给了默认不用写).then(res=>{
    console.log(res)
})

scroll-view吸顶问题

问题:

scroll-view 是常会用到的一个标签,我们可以使用 position:sticky 加一个边界条件例如top:0 属性实现一个粘性布局,在容器滚动的时候,如果我们的顶部标签栏触碰到了顶部就不会再滚动了,而是固定在顶部。但是在小程序中如果你在scroll-view元素中直接为子元素使用sticky属性,你给予sticky的元素在到达父元素的底部时会失效。

解决

在scroll-view元素中,再增加一层view元素,然后在再将使用了sticky属性的子元素放入view中,就可以实现粘贴在某个位置的效果了

你可能感兴趣的:(uni-app,学习)