学完这几个核心点,你也能开发小程序

核心点

  1. 如何传参
  2. 如何操作数据
  3. 如何跳转页面、返回
  4. 如何定义函数
  5. 如何发送请求并获取数据
  6. 如何绑定事件
  7. 如何渲染数据列表
  8. 如何进行条件渲染

1.如何传参

父向子

//触发点击事件  点击跳转传参
wx.navigateTo({
    1.父向子传参  将参数携带在 url
    url: '../addTask/addTask/:id',
})

2.子组件接收参数
//生命周期函数
onLoad(options) {
    //options 接收的就是父组件传递的参数
	console.log(options)
}

子向父传参

1.通过事件绑定和触发事件
父组件:
wx.navigateTo({
    url: '../addTask/addTask',
    events: {
        //监听事件
        reveiveVal(val) {
            //val 就是子组件向父组件传递的参数
            console.log(val)
        }
    }
})

子组件:
addTask() {
    const eventChannel = this.getOpenerEventChannel();
    //触发事件
    eventChannel.emit('reveiveVal', this.data.inpVal);
    wx.navigateBack()
},

函数传参

1.小程序是不允许函数携带参数的
所以我们传递参数是通过自定义属性 data-n="参数"

2.接收参数
该参数会被保存在事件对象 e 上
通过 e.currentTarget.dataset 获取数据

使用本地存储

//不需要转换  存进去啥就是啥
wx.setStorageSync('变量名',数据) //存储
wx.getStorageSync('变量名') //获取

全局数据

1.在 app.json 里面定义 globalData 属性
形如:
globalData:{
    baseImgUrl:'图片公共路径'
}

2.使用
const app = getApp()
app.globalData.baseImgUrl  //获取

2.如何操作数据

.js 文件中定义

1.定义数据
Page({
  data: {
    //这里的数据可以直接在页面中使用
    inpVal: ''  //定义数据
  },
})

2.修改数据
//进行数据替换
this.setData({
    inpVal:'新的数据'
})

3.获取数据
this.data.inpVal

3.如何跳转页面(最常用)

1.跳转目标页面
wx.navigateTo({
    url: '../addTask/addTask',
})
2.跳回上一个页面
wx.navigateBack({})

4.如何定义函数

.js中定义

Page({
    data:{},
    //定义函数和 data 数据定义同级别
    addTask() {}, 
    inputValue(e) {},
})

5.如何发送请求并获取数据

wx.request({
  url: '请求地址',
  method: '请求方法',
  data: '请求体携带的数据',
  header: '请求头携带的参数'
  success: function(res) {
    // 请求成功,处理返回的数据
    console.log(res.data);
  },
  fail: function(err) {
    // 请求失败,处理错误信息
    console.error(err);
  }
});

6.如何绑定事件(常用)

bindtap:点击事件
bindinput:文本框的输入事件
bindchange:状态改变时触发

7.如何渲染列表

wx:for="{{数据列表}}" wx:key="{{唯一标识}}"
//直接在当前 Dom 结构中使用 item index(默认)
item:每一项  修改名字   wx:for-item="subItem"
index:下标			wx:for-index="subIndex"
示例:
<div wx:for="{{dataList}}" wx:key='{{item.id}}'>
    <div>{{item.name}}----{{index}}</div>
//多层数据
	<div wx:for="{{item.subList}}" wx:for-		item="subItem">
    	<div>{{subItem.name}}</div>
	</div>
</div>

8.如何进行条件渲染

wx:if="{{goodsList.length > 0}}"
//我认为都用 wx:if 即可
//当数据列表的长度 > 0 的时候展示
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

双头雄狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值