uni-app开发常用操作速查记录

news2024/11/10 7:35:31

    记录一下uni-app中常用的使用方法或是操作步骤,方便后期速查使用.
     1.设置对象属性
     2.组件中数据变化监听方法
     3.微信开发者工具中全局搜索与局部搜索
     4.Page对象与Componet对象组成
     5.tabbar页面切换方法
     6.组件中自定义函数的参数传递
     7.mobx全局数据共享创建store对象实例
     8.()=>含义

1.设置对象属性

    不论是page对象还是componet对象,设置data中节点值的方式:

this.setData({
节点名:节点值
})

2.组件中数据变化监听方法

Component({
observers:{
'监听的数据字段名':function(自定义数据字段变化后的参数名){
// 打印监听字段变化之后的值
console.log(自定义数据字段变化后的参数名)
		}
	}
})

3.微信开发者工具中全局搜索与局部搜索

    局部搜索,直接在打开的页面中Ctrl+f即为从当前打开页面搜索.
    全局搜索:点击搜索按钮,点击打开新的搜索编辑器,输入搜索内容,可以显示命中关键字的文件以及具体位置,ctrl+鼠标点击可以进入文件内部.搜索步骤参考下图:
在这里插入图片描述

4.Page对象与Componet对象组成

    page对象常用参数:

Page({

  /**
   * 页面的初始数据
   */
  data: {

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})

    其余参数说明参考官方文档:
https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html
    component对象常用参数:

Component({
 /**
   * 组件的数据列表
   */
  data: {
  },
  /**
   * 组件的属性列表
   */
  properties: {

  },

  /**
   * 组件的方法列表
   */
  methods: {
   
    }
  }
})

    其余参数说明参考官方链接:
https://developers.weixin.qq.com/miniprogram/dev/reference/api/Component.html
    注意方法或是函数在两个对象中定义位置,page对象中方法定义与data节点同级,component对象中方法定义在methods节点中.

5.tabbar页面切换方法

 wx.switchTab({
        url: 'url'
      })

     一般用于方法函数中调用

6.组件中自定义函数的参数传递

参数传递:组件标签中添加内容如下:

data-属性名='{{属性值}}'

js中回调事件event中参数获取:

event.target.dataset.属性名

    注意:自定义属性不支持驼峰,js中获取的时候注意去驼峰.示例:

<button type="primary" bindtap="addNum" data-numInterval='{{5}}'>数字加5</button>

但是实际解析的时候就不再是驼峰了
在这里插入图片描述

js中获取:

 addNum:function(event){
    this.setData({
      num:this.data.num+event.target.dataset.numinterval
    })
  }

7.mobx全局数据共享创建store对象实例

    创建前提是项目中导入mobx-miniprogram、mobx-miniprogram-bindings.
    详细操作参考:uni-app入门:全局数据共享方案之mobx
    store/store.js中创建store对象(observable用于创建store对象):

import {observable,action} from 'mobx-miniprogram'
// observable方法用于创建store对象(按照page对象添加),action方法用于定义共享的方法
// 创建store对象并导出的格式:export const store=observable({})
export const store=observable({
// 字段共享格式:字段名:字段值
  num:2,
// 方法共享格式:方法名:action(function函数)action(function(){})
  updateNum:action(function(step){
      this.num+=step;
  })
})

    page对象中绑定store对象(createStoreBindings方法用于绑定storeBindings)

// 导入创建store绑定方法
import {createStoreBindings} from 'mobx-miniprogram-bindings'
// 导入store实例对象
import {store} from '../../store/store'

Page({
 
  // 页面加载设置store绑定成员信息
  onLoad:function(){
	  this.storeBindings=createStoreBindings(this,{
	  store,
	  fields:['num1','num2','sum12'], // 共享字段
	  actions:['updateNum1']          // 共享方法
	  })
  },
  // 页面卸载时清理处理
  onUnload:function(){
  	this.storeBingds=this.destroyStoreBindings()
  },
  // 按钮点击时触发的方法
  addNum(e){
  	// 执行修改num1方法并按照指定步长step进行相加
    this.updateNum1(e.target.dataset.step)
  }
})

    component中绑定store对象(指定behavior:storeBindingsBehavior,设置storeBindings)

// 导入behavior对象:storeBindingsBehavior
import {storeBindingsBehavior} from 'mobx-miniprogram-bindings'
// 导入自定义store对象实例
import {store} from '../store/store'
Component({
	// 设置behavior数组
  behaviors:[storeBindingsBehavior],
  // 映射参数绑定,storeBindings属性,按照page对象格式添加,fields actions为子节点对象,key-value形式添加内容.key为组件信息,value为store信息
  storeBindings:{
    store,
    fields:{ // 组件字段:store字段
      num:()=>store.num   //方式一
      //num:(store)=>store.num  // 方式二
     //  num:'num'             .// 方式三
    },
     // 映射方法绑定
  actions:{   // 组件方法:store方法
    updateNum:'updateNum'
  }
  }
  })

8.()=>含义

    =>为es6语法用作函数简写,参考如下示例:


// 无参数
var f = () => 5;
// 等同于
var f = function () { return 5 };
===========================================
// 一个参数
var f = a = > b

//等同于
var f = function(a){
   return b;  
}
====================================================
//多个形参
var sum = (num1, num2) => num1 + num2;
// 等同于
var sum = function(num1, num2) {
  return num1 + num2;
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/58574.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android Jetpack Compose的基本介绍

目录一、引言&#xff1a;Android Jetpack1.Jetpack是什么&#xff1f;2. 常用的Jetpack库二、Compose的基本概念1.什么是Jetpack Compose2.Compose的编程思想三、 Compose简单的案例: 一个倒计时效果1.构建一个Compose项目2.声明一个倒计时的UI3.利用线程使其动起来4.实现效果…

快速了解Docker

目录 1.简介 2.Docker的安装及环境配置 2.1.查看是否是root用户 2.2.查看当前内核版本 2.3.更新yum源 2.4.安装Docker所需要的工具包 2.5.设置yum源 2.6.下载安装Docker 2.7.启动Docker并且设置开机自启动 2.8.测试是否安装成功 3.Docker阿里云镜像仓库配置 4.Docker常…

C++ vector

目录 1.vector的介绍及使用 1.1 vector的介绍 1.2 vector的使用 1.2.1 vector的定义 1.2.2 vector iterator 的使用 1.2.3 vector 空间增长问题 1.2.3 vector 增删查改 1.2.4 vector 迭代器失效问题。&#xff08;重点&#xff09; 1.2.5 vector 在OJ中的使用 2.vec…

【Linux】Linux的常见指令详解(上)

目录 前言 ls pwd cd mkdir touch rm man tree nano cp mv cat echo more/less 前言 &#x1f9c1;Linux作为相较于windows的另一种操作系统&#xff0c;同时基于其开源的优越性&#xff0c;使得其在各各企业的使用率极高。因此学好Linux操作系统对我们来说是…

Mongoose应用和文件文件的上传和下载

一、Express框架访问MongoDB数据库 1、目的&#xff1a; ​ &#xff08;1&#xff09;mongoose模块的使用 ​ &#xff08;2&#xff09;学会代码的封装&#xff1a;dao层、service层、接口层 ​ &#xff08;3&#xff09;MVC设计思想&#xff1a;M(Model)、V(View)、C(C…

[附源码]Python计算机毕业设计Django基于SpringBoot的演唱会购票系统论文2022

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;我…

c#与mysql连接和操作教程(增、删、改、查)

一、mysql的连接&#xff08;使用的是vs2019&#xff09; 1. 在一个项目中选择 工具 > NgtGet包管理器 > 管理解决方案的NuGet程序包 2. 搜索MySql.Data&#xff0c;然后下载&#xff0c;并在右边选着对应的项目进行安装&#xff08;ps&#xff1a;每个项目要连接数据库…

【身份证识别】基于BP神经网络实现身份证识别附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

代码随想录刷题|LeetCode 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组

目录 300.最长递增子序列 思路 1、dp[i]的定义 2、递推公式 3、dp数组初始化 4、确定遍历顺序 5、推导dp数组 最长递增子序列 674. 最长连续递增序列 思路 最长连续递增序列 动态规划 贪心算法 718. 最长重复子数组 思路 1、确定dp数组的含义 2、确定递推公式 3、dp数组初始化…

docker 命令

目录 Docker 环境信息命令 docker info docker version 系统日志信息常用命令 docker events docker logs docker history 容器的生命周期管理命令 docker create docker run 常用选项 系统 网络 健康检查 命名空间选项 cgroup资源限制选项 CPU CPUset devi…

李宏毅《DLHLP》学习笔记7 - Voice Conversion 1

视频链接&#xff1a;https://www.youtube.com/watch?vJj6blc8UijY&listPLJV_el3uVTsO07RpBYFsXg-bN5Lu0nhdG&index9&ab_channelHung-yiLee 课件链接&#xff1a;https://speech.ee.ntu.edu.tw/~tlkagk/courses/DLHLP20/Voice%20Conversion%20(v3).pdf 1. 语音转…

永磁同步电机恒压频比(V/F)开环控制系统Matlab/Simulink仿真分析及代码生成到工程实现(二)

文章目录前言一、SVPWM二、永磁同步电机恒压频比开环控制系统Matlab/Simulink仿真分析2.1.仿真电路分析2.1.1.恒压频比控制算法2.1.2.输出处理2.1.3.主电路2.2.仿真结果分析三、永磁同步电机恒压频比开环控制系统代码生成及工程实现3.1.恒压频比开环控制算法代码生成3.2.仿真验…

计算机毕业论文Java项目源码下载基于SSM的旅游资讯网站含前台与后台

&#x1f496;&#x1f496;更多项目资源&#xff0c;最下方联系我们✨✨✨✨✨✨ 目录 Java项目介绍 资料获取 Java项目介绍 《ssm地方旅游资讯网站》该项目采用技术&#xff1a;jsp 、springmvc、spring、mybatis 、css、js、jQuery、bootstrap、easyui等相关技术&#x…

在云服务器上部署jupyter服务器环境(with conda-forge)

tags: Python Conda Tips Server 写在前面 最近想折腾点服务器的新花样(总是空着太可惜了), 想到前阶段配置的jupyter, 发现这不就能部署在服务端吗?还不走流量的那种(指安装包时候), 话不多说, 开整! 下面的用户名以及组都是test, 用于测试. 大家需要改成自己的用户名. 安装…

【Nginx】负载均衡、动静分离理论篇

一、负载均衡 1. 应用场景&#xff1a; 2. 负载均衡是什么&#xff1f; 在当业务系统服务器无法支撑当前的业务量时&#xff0c;用户可以选择更高性能的服务器。 但更为合理的做法是通过在既有业务服务器基础上&#xff0c;增量的方式增加相同功能的服务器&#xff0c;将处理…

Linux操作系统(基础操作)

文章目录一、文件操作命令1. 目录和文件操作2. 查看文件内容3. 重定向4. 管道二、信息系统相关命令1. 查看系统进程 -- ps2. 查看系统监听端口 -- netstat3. 查看日志信息命令 -- head / tail三、用户权限和管理1. linux中的权限2.修改用户权限chmod3.增加用户、查看登录用户4.…

CAS-比较并交换

CAS-比较并交换 原子类 何为原子类 没有CAS之前 多线程环境不使用原子类保证线程安全i&#xff08;基本数据类型&#xff09; 常用synchronized锁&#xff0c;但是它比较重 &#xff0c;牵扯到了用户态和内核态的切换,效率不高。 public class T3 {volatile int number 0…

JMeter 进行函数助手MD5加密

JMeter 函数助手 MD5 加密 JMeter函数助手中&#xff0c;提供了MD5加密的方法&#xff0c;如图所示&#xff0c;我们将内容 “123456”进行加密&#xff0c;可以看到加密成功了。 下面我们来看看项目接口的请求参数。 这是一个认证接口&#xff0c;我们可以看到请求的参数中包…

MySQL-MVCC多版本控制及事务的隔离性

MySQL事务的启动方式 隐式&#xff1a;执行SQL语句自动提交&#xff08;前提MySQL使用SET AUTOCOMMIT1开启自动提交&#xff09;显式&#xff1a;begin/start transaction; update user set username timi where id 1; commit; begin/start transaction命令并不是一个事务的起…

UE获取当前鼠标点击位置坐标

文章目录 1. 实现目标2. 实现过程2.1 蓝图代码2.2 实现思路3. 参考资料1. 实现目标 获取当前鼠标点击位置的UE世界坐标(x,y,z),效果如下图所示(为便于演示,下图显示了碰撞点位)。 2. 实现过程 2.1 蓝图代码 (1)核心函数的蓝图代码如下: (2)当鼠标左键按下时,…