零 待解决问题
1 ES6特性学习 √
2 展开运算符 √
Q:这里get方法一次只能获取10行数据?为啥这样写就能拼接上去了
3 complete是哪个部分的知识点,作用是啥
Q: 为啥wx.hideLoading写在complete外面被秒解,写在里面就还会显示?
get(){
this.setData({
isloading: false
})
wx.showLoading({
title: '加载中',
})
wx.request({
url: 'https://www.escook.cn/api/color',
method: 'GET',
success:({
data:res})=>{
this.setData({
colorlist:[...this.data.colorlist, ...res.data]
})
},
complete:()=>{
isloading: true,
wx.hideLoading({
})
}
})
},
4 P57回调函数 √
网络请求的封装
一 wxml
1 image属性
不加属性限制长这样:
<image src="{
{imgSrc}}"></image>
加了widthFix 长这样:
<image src="{
{imgSrc}}" mode="widthFix"></image>
Q:加了高度限制,图片会变成什么样?超出边界吗?
A:确实会超出
<image src="{
{imgSrc}}" mode="heightFix"></image>
2 =判断问题
<view wx:if="{
{sex == 1}}">heihei</view>
两个等于号只会判断数值
<view wx:if="{
{sex === 1}}">heihei</view>
三个等于号更严格,还会判断类型
3 navigator
3.1 空白
<navigator url="/pages/market/market" open-type="switchTab"></navigator>
Q:啥文字也不加编译出来啥样,空白地方乱点能跳转吗?
A:显示空白,不能跳转
3.2 跳转1后退2会怎么样
A:不会咋样,还是后退1的效果。
另外tab跳tab,非tab跳tab,都无法后退
二 wxss
1.import
只能用在wxss中,不能用在wxml中
一般是在特征页面样式special.wxss中import(导入)常规样式common.wxss
Q:如果有两个样式中有相同类名,并且在这个页面中有一部分想用common的另一部分想用special的,但实际调用中以special为先,调用的common样式被覆盖,要如何解决
A:仔细想了想,这么描述问题太复杂了,其实本质是个很简单的东西。
①比如我有个很多个页面都要用的盒子,所以用common规定好了这个盒子的样式,假设类名为common-box,其中就包含盒子的颜色是red。
②在special页面中,这个盒子大体长得一样,但有些区别,所以就把这个样式在common样式做了新的规定,假设类名为special-box,并且special页面中该盒子大部分颜色是blue的。
③但在specilal页面的一些地方又希望这个盒子是red的,那其实只要再写一个新的类,去特定的修改这个颜色属性,改为red,并且把这个类放在special-box的后面,自然就能覆盖掉special-box中的blue,而变为red。
2.多元素并列
2.1 一行
直接对父元素加上display: flex 即可
2.2 多行
加上flex后还要对每个子元素加上宽度
width: 33.33%
加上边框可能会导致错位,所以要再对子元素加上
box-sizing: border-box
三 js
1 this.setData({})
this.setData({
count:this.data.count+1,
})
Q:为什么this.data.count要加this.data. 而count前面却不用
A:因为this.setData()这个方法直接就指向data中的数据,所以count就直接可以代表data中的count,同时它也可以被其他文件的值改变,意思是count:其他文件的数值+1
2 input value的影响
<input bindinput="in" value="请输入"></input>
这么写输入在文本框的数据再做
this.setData({ msg:e.target.value })
如果文本框输入的是1234,那么更新后的value会变成 “请输入1234”,即不会把原来value完全覆盖掉
我目前的想法:
干脆不用value值,有需要就在bindinput事件中新建一个值
点击输入文字消失用placeholder就行
<input bindinput="in" placeholder='写出你的想法' value="{
{msg}}"></input>
四 数学方法
4.1 随机数
r: Math.floor(Math.random() * 256)
Math.random()生成大于0小于1的数,乘256则生成大于0小于256的数
Math.floor是向下取整,因此最终得大于0小于等于255的数