12.26 小程序问题和解决

在Andriod真机测试出错

Plain 复制代码
VM59:247 error occurs:ENOENT: no such file or directory, access '/storage/emulated/0/Android/data/com.tencent.mm/MicroMsg/wxanewfiles/461ac1a77238ddbbf2b7c9824f32db9a/miniprogramLog/log2'
  • 解决方案

在真机测试的二维码界面,把真机测试2.0, 改为真机测试1.0

在wxml中用typeof报错

  • wxml中不支持js的typeof

  • wxml中需要使用js逻辑,可使用wxs

  • wxs模块

Plain 复制代码
WXS 代码可以编写在 wxml 文件中的 <wxs> 标签内,或以 .wxs 为后缀名的文件内。
每一个 .wxs 文件和 <wxs> 标签都是一个单独的模块。
每个模块都有自己独立的作用域。即在一个模块里面定义的变量与函数,默认为私有的,对其他模块不可见。
一个模块要想对外暴露其内部的私有变量与函数,只能通过 module.exports 实现。
  • 实现步骤

根目录 wxs/util.wxs

JavaScript 复制代码
var result = function (val) {
  return typeof (JSON.parse(val)) !== 'number'
}
module.exports = {
  result: result
}

页面test.js

JSON 复制代码
Page({
  data: {
    person: '{"username": "aa","age": 18}'
  }
})

页面test.wxml

HTML 复制代码
<wxs src="/wxs/util.wxs" module="tools" />
<view wx:if="{{tools.result(person)}}">显示</view>

如何取消小程序中的云开发模式

  1. 打开小程序项目, 单击"云开发", 打开云开发控制台

  2. 单击右上角"设置", "环境设置" , 在"环境名称" 右侧的名字上单击, 在下拉菜单中单击"管理我的环境"

  3. 在弹出的"环境管理"中, 鼠标移至下方的环境名称上,即显示"删除"

  4. 删除即可

引入图标字体时报错

  • 报错信息 [渲染层网络层错误] Failed to load local font resource /pages/fonts/iconfont.woff2?t=1661753720519-do-not-use-local-path-./assets/css/iconfont.wxss&11&7 the server responded with a status of 500 (HTTP/1.1 500 Internal Server Error)

  • 错误原因

字体文件的路径应该使用相对根目录的路径,而不是相对当前文档的路径

  • 错误代码

iconfont.wxss

CSS 复制代码
@font-face {
  font-family: "iconfont";
  src: url('../fonts/iconfont.woff2?t=1661753720519') format('woff2'),
       url('../fonts/iconfont.woff?t=1661753720519') format('woff'),
       url('../fonts/iconfont.ttf?t=1661753720519') format('truetype');
}
  • 正确代码
CSS 复制代码
@font-face {
  font-family: "iconfont";
  src: url('/assets/fonts/iconfont.woff2?t=1661753720519') format('woff2'),
       url('/assets/fonts/iconfont.woff?t=1661753720519') format('woff'),
       url('/assets/iconfont.ttf?t=1661753720519') format('truetype');
}

按官网引入vant的日历组件后不显示

  • 错误原因

官网模版如下,但是在json中, 只引入了van-calendar, 没有引入van-cell组件

HTML 复制代码
<van-cell title="选择单个日期" value="{{ date }}" bind:click="onDisplay" />
<van-calendar show="{{ show }}" bind:close="onClose" bind:confirm="onConfirm" />
  • 解决方案:
JavaScript 复制代码
{
    "usingComponents": {
        "van-calendar": "@vant/weapp/calendar/index",
        "van-cell": "@vant/weapp/cell/index"
    }
}

使用vant日历组件报错

Plain 复制代码
[渲染层网络层错误] Failed to load font https://at.alicdn.com/t/font_2553510_iv4v8nulyz.woff2?t=1649083952952
net::ERR_CACHE_MISS 
(env: Windows,mp,1.06.2208010; lib: 2.7.7)
  • 解决方案:

更改右上角"详情" , "本地设置", "调试基础库" 版本

Vant样式无效

  1. 重新再终端安装vant npm i @vant/weapp -S --production

  2. "工具"菜单----构建npm

  3. 重启开发者工具即可

wxml中无论写什么都不显示

原因: page.js中为空, 写入基础代码即可

Plain 复制代码
Page({})

在project.config.json中配置云开发失败

原因: 课件中复制过来有不规范字符 解决方案: 手敲出来即可

数据更新后视图不渲染

  • 错误代码:
Plain 复制代码
this.data.list.push()
  • 解决方案 必须使用this.setData更新数据,才能触发视图更新

事件处理函数中接收不到dataset

  • 错误原因: e.target 应该换为 e.currentTarget
相关推荐
灼华_2 小时前
超详细 Vue CLI 移动端预览插件实战:支持本地/TPGZ/NPM/Git 多场景使用(小白零基础入门)
前端
借个火er2 小时前
npm/yarn/pnpm 原理与选型指南
前端
总之就是非常可爱2 小时前
vue3 KeepAlive 核心原理和渲染更新流程
前端·vue.js·面试
Mr_chiu2 小时前
当AI成为你的前端搭子:零门槛用Cursor开启高效开发新时代
前端·cursor
over6972 小时前
防抖与节流:前端性能优化的“双子星”,让你的网页丝滑如德芙!
前端·javascript·面试
red润2 小时前
手把手封装Iframe父子单向双向通讯功能
前端·javascript·vue.js
gustt2 小时前
JavaScript 闭包实战:手写防抖与节流函数,优化高频事件性能
前端·javascript·面试
止水编程 water_proof2 小时前
JQuery 基础
前端·javascript·jquery
Tzarevich2 小时前
React Hooks 全面深度解析:从useState到useEffect
前端·javascript·react.js