【知识】Uni-app-学习笔记 03

简介: 【知识】Uni-app-学习笔记 03

三、uni-app 高级语法


1、uniapp中的事件


事件绑定


在uni中事件绑定和vue中是一样的,通过v-on进行事件的绑定,也可以简写为@

<button @click="tapHandle">点我啊</button>

事件函数定义在methods中

methods: {
  tapHandle () {
    console.log('真的点我了')
  }
}


事件传参


  • 默认如果没有传递参数,事件函数第一个形参为事件对象。
// template
<button @click="tapHandle">点我啊</button>
// script
methods: {
  tapHandle (e) {
    console.log(e)
  }
}
  • 如果给事件函数传递参数了,则对应的事件函数形参接收的则是传递过来的数据。
// template
<button @click="tapHandle(1)">点我啊</button>
// script
methods: {
  tapHandle (num) {
    console.log(num)
  }
}
  • 如果获取事件对象也想传递参数。
// template
<button @click="tapHandle(1,$event)">点我啊</button>
// script
methods: {
  tapHandle (num,e) {
    console.log(num,e)
  }
}


2、uniapp的生命周期


应用的生命周期


生命周期的概念:一个对象从创建、运行、销毁的整个过程被成为生命周期。


生命周期函数:在生命周期中每个阶段会伴随着每一个函数的触发,这些函数被称为生命周期函数


uni-app 支持如下应用生命周期函数:


image.png


页面的生命周期


uni-app 支持如下页面生命周期函数:


image.png


3、下拉刷新


开启下拉刷新


在uni-app中有两种方式开启下拉刷新


  • 需要在 pages.json 里,找到的当前页面的pages节点,并在 style 选项中开启 enablePullDownRefresh
  • 通过调用uni.startPullDownRefresh方法来开启下拉刷新

通过配置文件开启


创建list页面进行演示


<template>
  <view>
    <view v-for="(item,index) in arr" :key="index">
      {{item}}
    </view>
  </view>
</template>
<script>
  export default {
    data () {
      return {
        arr: ['sunming','孙铭','孙不坚1208']
      }
    }
  }
</script>
<style>
</style>

通过pages.json文件中找到当前页面的pages节点,并在 style 选项中开启 enablePullDownRefresh

{
  "path":"pages/list/list",
    "style":{
      "enablePullDownRefresh": true
    }
}


通过API开启


api文档

uni.startPullDownRefresh()


监听下拉刷新


通过onPullDownRefresh可以监听到下拉刷新的动作

export default {
  data () {
    return {
      arr: ['sunming','孙铭','孙不坚1208']
    }
  },
  methods: {
    startPull () {
      uni.startPullDownRefresh()
    }
  },
  onPullDownRefresh () {
    console.log('触发下拉刷新了')
  }
}


关闭下拉刷新


uni.stopPullDownRefresh()


停止当前页面下拉刷新。


案例演示

<template>
  <view>
    <button type="primary" @click="startPull">开启下拉刷新</button>
    <view v-for="(item,index) in arr" :key="index">
      {{item}}
    </view>
  </view>
</template>
<script>
  export default {
    data () {
      return {
        arr: ['sunming','孙铭','孙不坚1208']
      }
    },
    methods: {
      startPull () {
        uni.startPullDownRefresh()
      }
    },    
    onPullDownRefresh () {
      this.arr = []
      setTimeout(()=> {
        this.arr = ['sunming','孙不坚1208','孙铭']
        uni.stopPullDownRefresh() //关闭上拉刷新
      }, 1000);
    }
  }
</script>


4、上拉加载


通过在pages.json 文件中找到当前页面的pages节点下style中配置

onReachBottomDistance可以设置距离底部开启加载的距离,默认为50px。


通过onReachBottom监听到触底的行为

<template> 
  <view>
    <button type="primary" @click="startPull">开启下拉刷新</button>
    <view v-for="(item,index) in arr" :key="index">
      {{item}}
    </view>
  </view>
</template>
<script>
  export default {
    data () {
      return {
        arr: ['sunming','孙不坚1208','孙铭']
      }
    },
    onReachBottom () {
      console.log('触底了')
    }
  }
</script>
<style>
  view{
    height: 100px;
    line-height: 100px;
  }
</style>


相关文章
|
9月前
|
安全
第二轮学习笔记:三、APP抓包
第二轮学习笔记:三、APP抓包
67 0
|
4月前
|
XML 前端开发 JavaScript
react学习笔记一:入门级小白到脚手架(create-react-app)开发项目
这篇文章是React的学习笔记,覆盖了从React的基础用法到高级特性,包括组件化、状态管理、生命周期、虚拟DOM等主题,适合React初学者参考。
137 0
react学习笔记一:入门级小白到脚手架(create-react-app)开发项目
|
JSON 前端开发 安全
移动端APP5|学习笔记
快速学习移动端APP5
114 0
移动端APP5|学习笔记
|
安全
第二轮学习笔记:三、APP抓包
第二轮学习笔记:三、APP抓包
116 0
第二轮学习笔记:三、APP抓包
|
前端开发
React学习笔记(六) Create React App
React学习笔记(六) Create React App
123 0
|
物联网 Android开发 开发者
蓝牙模块手机APP通信|学习笔记
快速学习蓝牙模块手机APP通信
蓝牙模块手机APP通信|学习笔记
|
JSON 前端开发 Java
移动端App 4|学习笔记
快速学习移动端App 4
189 0
移动端App 4|学习笔记
|
存储 前端开发 JavaScript
移动端App 3|学习笔记
快速学习移动端App 3
181 0
移动端App 3|学习笔记
|
移动开发 前端开发 Java
移动端App 2|学习笔记
快速学习移动端App 2
111 0
移动端App 2|学习笔记
|
前端开发 小程序 JavaScript
移动端 App 1|学习笔记
快速学习移动端 App 1
179 0
移动端 App 1|学习笔记

热门文章

最新文章

  • 1
    MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
  • 2
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 3
    原生鸿蒙版小艺APP接入DeepSeek-R1,为HarmonyOS应用开发注入新活力
  • 4
    【Azure App Service】基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?
  • 5
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 6
    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 7
    【Azure Function】Function App出现System.IO.FileNotFoundException异常
  • 8
    【Azure Logic App】使用MySQL 新增行触发器遇见错误 :“Unknown column 'created_at' in 'order clause'”
  • 9
    阿里云APP备案流程图以及备案所需材料整理,跟着教程一步步操作
  • 10
    【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 1
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    40
  • 2
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    34
  • 3
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
    27
  • 4
    【Azure Function】Function App门户上的Test/Run返回错误:Failed to fetch
    31
  • 5
    小游戏源码开发之可跨app软件对接是如何设计和开发的
    33
  • 6
    原生鸿蒙版小艺APP接入DeepSeek-R1,为HarmonyOS应用开发注入新活力
    144
  • 7
    PiliPala:开源项目真香,B站用户狂喜!这个开源APP竟能自定义主题+去广告?PiliPala隐藏功能大揭秘
    63
  • 8
    语音app系统软件源码开发搭建新手启蒙篇
    45
  • 9
    MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
    939
  • 10
    语音交友app系统源码功能及技术研发流程剖析
    39