小程序基础

本文详细介绍了微信小程序开发中常用的标签、组件(如view、text、button、input等)以及它们的属性,包括数据绑定、事件绑定、微信API调用、弹窗功能和前后端交互。
摘要由CSDN通过智能技术生成

title: 小程序基础
tags:

  • 前端
  • 微信小程序
    abbrlink: f6d4d8af
    date: 2024-03-24 14:51:01

微信小程序基础

常见标签

view视图

<view>hello</view>
<view>你好</view>

text文章

selcectable属性

<!--text相当于span,selectable文档是否可选-->
<text selectable>你好</text>

decode属性

<!--decode为译码如nbsp/lt/gt/amp/apos/ensp/emsp-->
<text decode>世界&nbsp;你好</text>

button按钮

type属性

primary首选按钮

<button type="primary">primary</button>

default默认按钮

<button type="default">default</button>

warn警告

<button type="warn">warn</button>
open-type属性

getPhoneNumber获取电话

<button open-type="getPhoneNumber">PhoneNumber</button>

getUserInfo获取用户信息

<button open-type="getUserInfo">getUserInfo</button>

contact客服

<button open-type="contact">contact</button>

checkbox复选

<!--复选框-->
<checkbox-group>
<checkbox value="1"></checkbox>
<checkbox value="2"></checkbox>
</checkbox-group>

radio单选

<radio-group>
<!--单选框-->
<radio value="1"></radio>
<radio value="2"></radio>
</radio-group>

block分块

<!--block里的标签属于一体,拆分过多标签堆积-->
<block>
<text style="margin-right: 6px;">首页</text>
<text style="margin-right: 6px;">物品</text>
</block>

input输入

<!--input-->
<input type="text"></input>
<input password></input>
<input type="number"></input>
<input disabled></input>
<input placeholder="请输入" placeholder-class="ph-style"></input>

事件绑定

bindinput相当于vue中的v-model实现双向数据绑定糖衣炮弹

<!--绑定事件-->
<!--bindinput实现双向绑定,data-来帮助传参-->
<input type="text" bindinput="ChangeMe"></input>
<button bindtap="clickMe" data-val1="1" data-test="2" >点击我</button>
<view>{{msg}} </view>
page({
    data:{
 		 msg:"原始数据"
	},
    ChangeMe:function(){
  		console.log("文本框变了");
	},
    //value.currentTarget.dataset可以获取data-的数据
	clickMe:function(value){
  		console.log(value.currentTarget.dataset);
	}
)}

数据绑定

<!--数据绑定MVVM-->
<!--model数据,v是view视图,vm是指page里面内容,是指vm中的一种协调数据和视图的功能-->
<button bindtap="clickMe2">点击我2</button>
page({
    data:{
 		 msg:"原始数据"
	},
    clickMe2:function(event){
  		//只改变数据,不改变视图
  		// this.data.msg="原始数据改变了,视图不变";
  		//视图数据于真实数据一起改变
  		this.setData({
    	msg:"原始数据的内容和视图内容都发生了改变"
 		 })
  	console.log(this.data.msg);
	},
)}

微信API调用

<!--微信API调用-->
<!--获取用户的信息不能使用bindtap来绑定事件,而是使用bindgetuserInfo-->
<!--将open-type="getUserInfo"属性获得的用户数据给到绑定事件getUserInfo-->
<button open-type="getUserInfo" bindgetuserinfo="getUserInfo">获取用户信息</button>
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">获取电话</button>
<button open-type="contact" bindcontact="getContact">联系客服</button>
page({
    //获取用户信息
	getUserInfo(e){
  		console.log(e)
	},
	//获取用户电话
	getPhoneNumber(e){
  		console.log(e);
	},
	//联系客服
	getContact(e){
  		console.log(e);
	},
})

富文本标签

<!--富文本控件使用rich-text-->
<!--该标签类似于vue中的v-html可以用来放标签事件而不是单纯的文本--->
<!--img标签只认网络图片,站内路径不会被认识-->
<rich-text nodes="{{msg2}}"></rich-text>
page({
    data:{
 		msg2:"<b>加粗</b><p style='color:red'>变红</p>"
	},
)}

微信弹窗

弹窗样式

<!--小程序弹窗功能-->
<button bindtap="showAlert">弹窗按钮</button>
//弹窗的使用
//一个弹窗事件只能有一次弹窗,如果有两次事件,会被后面的覆盖掉
showAlert(){
  //icon状态:loading(加载)、success(成功选中)、none(提示),duration持续两秒
  wx.showToast({
    title: '成功',
    icon:'success',
    duration:2000
  })
  //showloading是一种icon为loading的简写
  wx.showLoading({
    title: '加载中',
    duration:2000
  })
  //模式窗体二选一
  wx.showModal({
    title: '提示',
    content: '这是一个模式框',
    complete: (res) => {
      if (res.cancel) {
        console.log("点击了取消");
      }
  
      if (res.confirm) {
        console.log("点击了确定");
      }
    }
  })
},

弹窗跳转

<!--页面跳转-->
<button bindtap="navi">页面跳转</button>
//弹窗跳转
navi(){
  wx.navigateTo({
    //不要选定test.wxml是不会默认跳转的
    //当前页面传参到另外的页面?id=1
    url: '/pages/test1/test1?id=1',
  })
},

弹窗前后端交互

<button bindtap='getData'>获取后端数据</button>
//弹窗实现前后端交互request
getData(){
  var that=this;
  wx.request({
    //获取后端数据jobs类
    url: 'http://localhost:10737//jobs',
    //request是一个回调函数,this并不能获取到相关的数据,要用that变量作为中转来实现交互
    success(res){
      var data = res.data;
      that.setData({
        jobs:data
      })
      console.log(that.data.jobs);
    }
  })
}

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值