阿猫学小程序:奇奇怪怪的问题集

零 待解决问题

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的数

猜你喜欢

转载自blog.csdn.net/m0_51487301/article/details/125639970