首页 > 编程语言 >微信小程序入门教程

微信小程序入门教程

时间:2022-10-27 22:33:09浏览次数:73  
标签:bar 微信 入门教程 程序 组件 images pages png wx

基本结构

快捷键

image-20221004193914390

主目录文件

img

app.json

{
  "pages":[
    "pages/index/index",
    "pages/logs/logs"
  ],
  "window":{
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "Weixin",
    "navigationBarTextStyle":"black"
  },
  "style": "v2",
  "sitemapLocation": "sitemap.json"
}


# sitemapLocation的作用是指定位置,和主目录平级sitemap.json

image-20221004090558074

导航栏的颜色

  • image-20221005102740172

tabBar配置,foot

  • 这里路径不允许使用 ./ 开头。
{
  "windows": {
    ...
  },
  "tabBar": {
    "color": "#909192",
    "selectedColor": "#0600B8",
    "list": [{
      "pagePath": "pages/home/home",
      "text": "首页",
      "iconPath": "images/bar/bar1_1.png",
      "selectedIconPath": "images/bar/bar1.png"
    },{
      "pagePath": "pages/menu/menu",
      "text": "菜单",
      "iconPath": "images/bar/bar2_2.png",
      "selectedIconPath": "images/bar/bar2.png"
    },{
      "pagePath": "pages/new/new",
      "text": "新品",
      "iconPath": "images/bar/bar3_3.png",
      "selectedIconPath": "images/bar/bar3.png"
    },{
      "pagePath": "pages/kefu/kefu",
      "text": "小二",
      "iconPath": "images/bar/bar4_4.png",
      "selectedIconPath": "images/bar/bar4.png"
    }]
  }
}

  • 下面的导航栏

image-20221005103630621

页面的配置

官网: https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/page.html#配置项

image-20221005152440558

project.config.json

image-20221004091151988

sitemap.json

  • 作用是能否被索引

image-20221004091308525

页面.json

  • 页面的会覆盖全局的

image-20221004091534887

新建 page

  • 里面添加路径,保存自动新建
  • 首页看 pages 里面的第一个为首页

image-20221004091941904

标签

WXML

  • 和 html 的作用差不多
  • 支持 vue 的绑定

image-20221004092225419

WXSS

  • 提供了全局样式
  • 新增 xpr ,自动进行换算

image-20221004092458933

js

image-20221004092700750

宿主环境

  • 手机微信是小程序的宿主环境

包含的内容是:

  1. 通信模型
  2. 运行机制
  3. 组件
  4. API

image-20221004092815463

通信的主体

image-20221004093957385

通信模型

image-20221004094032848

小程序组件

image-20221004095601729

image-20221004150507560

语法

事件

常用事件

image-20221004192535628

  • event 的方法
    • target 是触发的源组件,例如冒泡事件的开始

image-20221004192712641

image-20221004193333550

为 data 数据赋值

  btnTap(e) {
    this.setData(
      {
        count: this.data.count+1
      })
  },

事件传参

  • 不能和 vue 一样传参

image-20221004194507413

使用data-info={{参数}} 传参,不加{{}}是string类型的,不是int

image-20221004194714065

mustache语法

<view>{{msg}}</view>
  • 与 vue 不一样
  • 这里跟vue做个区别,vue中规定组件内data必须是函数,而小程序不用,使用一个对象表示即可。

image-20221005104121608

wx:for

官网位置:https://developers.weixin.qq.com/miniprogram/dev/reference/wxml/list.html#block wx:for

block 标签:

并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性。

 <view>
    <view wx:for="{{arr}}" wx:key="*this" wx:for-item="items">{{items}}</view>
  </view>

  <!-- 方法2 -->
  <view class="box">
    <block wx:for="{{arr}}" wx:key="*this">
      <view>{{item}}</view>
    </block>
  </view>
Page({
  data: {
    arr: ['张三', '李四', '王五']
  }
})

hidden 和 wx:if

  • 区别和用法
因为 wx:if 之中的模板也可能包含数据绑定,所以当 wx:if 的条件值切换时,框架有一个局部渲染的过程,因为它会确保条件块在切换时销毁或重新渲染。

同时 wx:if 也是惰性的,如果在初始渲染条件为 false,框架什么也不做,在条件第一次变成真的时候才开始局部渲染。

相比之下,hidden 就简单的多,组件始终会被渲染,只是简单的控制显示与隐藏。

一般来说,wx:if 有更高的切换消耗而 hidden 有更高的初始渲染消耗。因此,如果需要频繁切换的情景下,用 hidden 更好,如果在运行时条件不大可能改变则 wx:if 较好。
  • hidden
<view hidden="{{ifShow}}">显示或隐藏</view>
Page({
  data: {
    ifShow: false	// 由于hidden代表一种否定(或称:取反),所以这里为false,上面的view标签才能显示
  }
})
  • wx-if
<view wx:if="{{length > 5}}"> 1 </view>
<view wx:elif="{{length > 2}}"> 2 </view>
<view wx:else> 3 </view>

结论:

hidden 属性用于频繁切换,切换较少时,建议使用 wx:if

模板

  • 和 vue 的插槽差不多

image-20221005112841610

WXS 语法

image-20221005144900909

  • require 的使用
// /pages/tools.wxs

var foo = "'hello world' from tools.wxs";
var bar = function (d) {
  return d;
}
module.exports = {
  FOO: foo,
  bar: bar,
};
module.exports.msg = "some msg";

// /pages/logic.wxs

var tools = require("./tools.wxs");

console.log(tools.FOO);
console.log(tools.bar("logic.wxs"));
console.log(tools.msg);

组件使用

参考: http://codesohigh.com/subject/wechat/base.html#十五、组件化开发【重点】

父传子

  • 父的 wxml
<product-block showArr="{{showArr}}" />

# 上面的 showArr 是定义在父的数据类型
  • 子组件的 js
Component({
  // properties用于接收传值,类似于vue中的props
  properties: {
    showArr: {
      // 设置数据类型
      type: Array,
 			// 设定初始值(即默认值)
      value: [{imgSrc: "/images/home/newPro1.jpg", imgTxt: "卡布奇诺"}]
    }
  }
})

实战

引入 vant

  1. 右键微信开发者工具,打开 cmd

  2. # 初始化项目
    npm init -y
    # 安装
    npm i @vant/[email protected] -S --productionapL
    
  3. 打开微信开发者工具,打开工具--->构建 npm

定义 css 变量

  • 提供 css 的可读性
-- 定义变量
var 使用变量

image-20221007210216881

官网: 定制主题 - Vant Weapp (gitee.io)

image-20221007210936939

page{
  --button-danger-background-color: #000000;
}

image-20221007211239943

全局数据共享

image-20221008154731756

标签:bar,微信,入门教程,程序,组件,images,pages,png,wx
From: https://www.cnblogs.com/rain-me/p/16834251.html

相关文章

  • 鲜花花店微信小程序制作教程
    鲜花店微信小程序制作教程简单概括为3步[一R]【电脑......
  • 微信小程序的基础配置
    在小程序中的前台、后台:用户当前页面运行或者操作小程序时称为前台,当用户点击左上角关闭或者离开微信时,小程序进入后台。销毁:小程序进入后台一定的时间或者系统资源占用过高......
  • 微信小程序WXS功能模块
    好久没有看微信小程序的官方文档了,最近在开发个人小程序时,才发现WXS功能。有点跟不上节奏了!WXS模块代码可以写在WXML文件中的标签内,或者是以.wxs为后缀的文件内。每一个.w......
  • 小程序云开发
    在小程序云开发提供了三个基础能力:数据库、存储和云函数。 云开发提供的是JSON数据库,就是数据库中的每条记录都是一个JSON格式的对象。一个数据库可以有多个集合(一个集合就......
  • 微信小程序video高层级的解决
    在小程序内使用了video视频标签,底部再加上一个悬浮的Btn按钮或是页面的中间弹窗,在页面上下滑动的时候,由于video原生组件的层级太高,会把悬浮(弹窗)给覆盖掉。像video这种原生组......
  • 小程序云开发·数据库
    在云控制台操作云数据库,即创建数据库和插入数据等操作。云开发数据库提供的数据类型:string、number、object、array、bool、GeoPoint(地理位置点)、Date(时间)、Null其中的Dat......
  • 微信小程序开通无感支付(微信支付分)--uni-app版
    1、打开微信支付分页面:首先需要将这个小程序绑定的商户号开通微信支付分服务,然后使用navigateTominiProgram跳转微信支付分小程序,跳转时需要传参,其中appId和path是固定的(......
  • 面向对象程序设计第二次blog
    一、前言这几次的PTA的作业以及考试涉及到的知识点由面向对象中对数据的封装、继承以及多态,还有抽象类以及对象容器也涉及到一些,与此同时还有关于正则表达式的内容。......
  • 脱单盲盒源码(交友盲盒源码)程序开发
     交友盲盒程序是通过手机操作的约会应用程序。通过访问智能手机的GPS位置以及轻松访问数字照片库和移动钱包,它通常会升级约会的传统性质。它不仅简化了,而且还加快了选......
  • 关机程序
    今天新学了一个关机的程序,当看着模仿着写出的程序,能跑起来的时候,还是很开心的。还知道了cmd(虽然是了解了一点点)和服务,但每天进步一点点还是很开心。......