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
相关推荐
kyriewen114 分钟前
每日知识点:this 指向之谜——是谁在 call 我?
前端·javascript·vue.js·前端框架·ecmascript·jquery·html5
浩星5 分钟前
electron系列6之性能优化:从启动慢到内存泄漏
前端·javascript·electron
飞Link9 分钟前
pprint 全量技术手册:复杂数据结构的结构化输出引擎
开发语言·前端·python
Ruihong12 分钟前
Vue 迁移 React 实战:VuReact 一键自动化转换方案
前端·vue.js
opbr14 分钟前
还在手写 env 类型定义?这个 Vite 插件帮你自动搞定!
前端·vite
Qinana14 分钟前
前端正则表达式全解:从基础语法到实战应用
前端·javascript·面试
蜡台18 分钟前
JavaScript Object Function ERROR
开发语言·javascript·ecmascript·error
烟话620 分钟前
vue3响应式基础
前端·javascript·vue.js
boombb23 分钟前
用户反馈入口
前端
im_AMBER25 分钟前
万字长文:手撕JS深浅拷贝完全指南
前端·javascript·面试