微信小程序中遇到过的问题

记录微信小程序中遇到的问题(持续更新ing)

  • 问题描述:
  • 1. WXML中无法直接调用JavaScript方法。
  • 2. css中无法直接引用背景图片。
  • 3. 关于右上角胶囊按钮。
  • 4. 数据绑定问题。
  • 5. 事件处理问题。
  • 6. 关于movable-view组件的问题
  • 7. 关于设置宽度后设置padding内容溢出的问题

问题描述:

1. WXML中无法直接调用JavaScript方法。

原因分析:
由于WXML和JavaScript是两种不同的语言,它们之间没有直接的交互方式。
解决方案:

  • 尽量在js中处理,并在WXML中显示。
  • 使用wxs,
    创建wxs文件并通过 module.exports导出
    //index.wxs文件var toFixed = function (num) {console.log(num);return num.toFixed(2);}module.exports = {toFixed: toFixed}//index.wxml文件<wxs src="./index.wxs" module="XXX"></wxs> //这样引用<view>{{XXX.toFixed(3.1415)}}</view>       //使用

返回的3.14
最后看打印结果
在这里插入图片描述
注意事项: wxs文件中不支持es6写法,let、const、export这些都是不可以的!

2. css中无法直接引用背景图片。

原因分析:
由于微信小程序的文件结构限制,CSS文件只能引用小程序的静态资源文件,如图片、字体等。
解决方案:

  • 路径改成可以直接访问的绝对路径。
background-image: url("https://pic.netbian.com/uploads/allimg/240308/012824-17098325042f18.jpg");
  • 将图片转换为base64编码。
  • 在标签上写入样式
 	<view  style="background-image: url('../xx.png')"></image>
  • 使用image标签并使用绝对定位
	<view class="box"><image class="box-bg" src="../bg.png" /></view>//css文件.box{position: relative;.box-bg{ position: absolute;} }

3. 关于右上角胶囊按钮。

原因分析:
由于css样式调整,需要自定义顶部导航栏。
解决方案:
- 官方自带的不能去掉,但是通过设置backgroundTextStyle等来设置文字颜色与背景等。

  • 在微信小程序的app.json文件中,可以设置navigationStyle属性为custom,来自定义顶部导航栏
    在这里插入图片描述

4. 数据绑定问题。

原因分析:
习惯使用this.XXX = data 或者 XXX.value = data 或直接XXX = data导致赋值不上
解决方案:
正确使用this.setData()来更新数据

this.setData({XXX: 'Data'
})

5. 事件处理问题。

**原因分析:**
习惯使用`click、@click`来绑定事件,并通过 `@click = XXX(data)` 来传参

解决方案:
在小程序中事件绑定有使用特定的语法

  • 绑定事件使用bindtap、catchtap、bindinput
  • 在事件处理函数中,使用event参数获取事件对象。或者使用data-来传递参数。

6. 关于movable-view组件的问题

原因分析:
使用movable-view滑动不生效、 想去除页面切换时滑动的动画、设置定位right、bottom等不生效

解决方案:

  • 首先movable-view组件必须放在在 movable-area 组件中,并且必须是直接子节点,否则不能移动。
  • movable-area 组件必须设置width和height属性,不设置默认为10px,不能滑动。
  • 去除页面切换时滑动的动画可以在movable-view组件中设置 animation=“{{false}}”
  • movable-view 默认为绝对定位,top和left属性为0px ,设置定位right、bottom不生效要设置left与top才行,或者在movable-view组件中设置x={{x}}y={{y}}
  • movable-view 必须设置width和height属性,不设置默认为10px。

请添加图片描述
实现代码

  //wxml<movable-area class="card-box"><movable-view class="card-view" animation="{{false}}" x="{{x}}" y="{{y}}" direction="all"><image class="card-view" src="../../../public/card.png"></image></movable-view></movable-area>//css.card-box {position: absolute;top: 0;width: 100%;height: 90vh;.card-view {width: 64rpx;height: 64rpx;z-index: 999;}
} 
//jsdata: {x: 340,y: 700,  //这里根据wx.getSystemInfoSync这个方法获取设备信息去具体计算},

7. 关于设置宽度后设置padding内容溢出的问题

原因分析:
父组件中使用padding: 0 24rpx; 然后再使用width: 100%;导致页面元素内容溢出
在这里插入图片描述
解决方案:
因为 width: 100%; 是相对于父组件的宽度计算的,而父组件的 padding 会导致父组件的实际宽度大于其内容的宽度。

  • 父元素设置box-sizing: border-box;
  • 调整子组件的宽度width: calc(100% - 48rpx);
  • 去除width: 100%;
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/65598.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RabbitMQ实现生产者消费者

一.启动MQ 注意管理员身份进入cmd才行,我这里是在本地安装的MQ,推荐使用虚拟机安装 二.思路 官方解释RabbitMQ结构: 自我理解RabbitMQ结构: 其实RabbitMQ的服务器就像邮局一样,我们的生产者和消费者对于这个服务器来说都是消费者,因为服务器都可以向两者发送消息 环境准备 …

课设CLion连接Ubuntu14makeQt项目出错解决汇总

在这之前需要注意以下几点&#xff1a; 1、需要 确保CLion能连接Ubuntu14 2、cmakelist.txt文件配置 3、知道部署路径&#xff1a; 问题一&#xff1a;/usr/bin/ld: cannot open output file GreedySnake: Is a directory 否则就会出现make以后应该生成一个可执行文件&…

MySQL三大日志—— binlog、redoLog、undoLog 详解

前言&#xff1a; 日志是mysql数据库的重要组成部分&#xff0c;记录着数据库运行期间各种状态信息&#xff0c;能帮助我们进行很多容错及分析工作&#xff0c;其中有三大日志与我们这些开发者息息相关&#xff0c;本文将介绍binlog、redoLog、undoLog三种日志&#xff1a; 1.…

JavaWeb开发(一)IDEA工具下载、配置、项目创建、Tomcat配置

1. IDEA工具下载、配置、项目创建、Tomcat配置 1.1. IDEA官方地址下载 官方地址下载 1.1.1. 自动补全 Settings–>Editor–>General–>Code Completion 1.1.2. 自动导包 Settings–>Editor–>General–>Auto lmport 1.1.3. 配置JDK 1.2. 创建项目 1…

RK3568 bsp 9 - USB调试记录

文章目录 1、环境介绍2、RK3568 USB资源介绍3、配置目标4、dts配置4.1、USB3.0 OTG4.2、USB2.0 Host 2 和 USB2.0 Host 3 5、kernel配置5.1、USB PHY CONFIG5.2、USB Host CONFIG5.3、USB OTG CONFIG5.4、USB外设CONFIG5.4.1、Mass Storage Class CONFIG5.4.2、USB HID CONFIG …

Servlet会话跟踪

在Servlet中&#xff0c;会话跟踪是通过HttpSession对象来实现的&#xff0c;主要有以下几种方式&#xff1a; 通过HttpSession对象 获取HttpSession对象&#xff1a;可以通过HttpServletRequest对象的getSession()方法来获取HttpSession对象。如果当前请求没有关联的会话&am…

一文讲清楚webpack和vite原理

一、前言 每次用vite创建项目秒建好&#xff0c;用vue-cli创建了一个项目&#xff0c;却有点久&#xff0c;那为什么用 vite 比 webpack 要快呢&#xff0c;这篇文章带你梳理清楚它们的原理及不同之处&#xff01;文章有一点长&#xff0c;看完绝对有收获&#xff01; 二、web…

Vue3源码解读--方向篇

vue3文档地址、GitHub项目地址&#xff1a; https://cn.vuejs.org/v2/api/ https://github1s.com/vuejs/vue-next/tree/3.2 二、如何本地调试vue3源码 很多时候我们都是在本地调试vue3的源码&#xff0c;然后沿着调用链&#xff0c;一步一步的去梳理vue3的源码。 把vue3项目拉到…

工业大数据分析算法实战-day20

文章目录 day20设备对象维度建模方法维度专家规则驱动的方法&#xff1a;AI-FIT-PM过程模型少量样本驱动的方法数据驱动的方法 软件维度 day20 今天是第20天&#xff0c;昨日是对第九章节行业知识沉淀中知识工程、维度模型、模式要素模型进行讲解&#xff0c;尤其是维度模型中…

k8s的可观测性

文章目录 1. 健康状态监测&#xff08;Health Check&#xff09;1.1 健康检查的原理1.2 健康检查的配置示例1.3 健康状态监测工具 2. 资源使用监控&#xff08;Resource Usage Monitoring&#xff09;2.1 资源使用监控的原理2.2 资源使用监控的配置示例2.3 资源使用监控工具 3.…

InstructGPT:基于人类反馈训练语言模型遵从指令的能力

大家读完觉得有意义记得关注和点赞&#xff01;&#xff01;&#xff01; 大模型进化树&#xff0c;可以看到 InstructGPT 所处的年代和位置。来自 大语言模型&#xff08;LLM&#xff09;综述与实用指南&#xff08;Amazon&#xff0c;2023&#xff09; 目录 摘要 1 引言 …

自定义VUE指定,实现鼠标悬停显示提示面板,离开元素或面板后面板消失

参考文档&#xff1a;https://www.bilibili.com/opus/500023412612186477 // 自定义"v-tooltip"指令,实现鼠标悬浮显示文本 Vue.directive(tooltip, {bind(element, binding) {const tooltipText binding.value;const tooltip document.createElement(div);toolti…

如何进行年度工作回顾?

发生了什么事&#xff1f; 什么事情进展顺利 &#xff1f; 什么事情进展不顺利&#xff1f; 如何适应未来&#xff1f; 年度回顾的定义&#xff1a;这是一种战略工具&#xff0c;能帮助人们清晰看到过去一年对业务、职业或个人生活的影响&#xff0c;可用于明确关键事件、找出问…

Centos 7 二进制安装时序数据库TDengine_我和国产时序数据库的第一次亲密接触

一、前言 之前在搞监控时&#xff0c;曾学习和测试过InfluxDB数据库&#xff0c;第一次接触时序数据库&#xff0c;也深深感受到了时序数据库的块&#xff0c;最近在墨天轮上看到对国产库时序数据库&#xff08;Time Series Database&#xff09;的介绍&#xff0c;特别是看了涛…

Design Compiler:两种工作模式(线负载模式和拓扑模式)

相关阅读 Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm1001.2014.3001.5482 Design Compiler可以以线负载模式或拓扑模式启动&#xff0c;必须选择其中一个模式。在拓扑模式下还可使用多模式和UPF模式&#xff1a;多模式允许在多种工作…

【2024年-6月-14日-开源社区openEuler实践记录】探索 test - tools:高效测试的开源宝库

开篇引言 大家好&#xff0c;我是 fzr123&#xff0c;在软件开发领域深耕多年&#xff0c;一直致力于探索各种提升效率的工具与技术。今天&#xff0c;我将为大家深入介绍一款在测试领域极具价值的开源项目——test - tools&#xff0c;它为开发者们提供了一系列强大的测试功能…

Java实现拍卖系统详解

一、项目背景与需求分析 随着互联网技术的飞速发展&#xff0c;电子商务领域不断拓展新的业务模式&#xff0c;在线拍卖系统应运而生并逐渐成为一种重要的商业交易方式。在当今数字化的时代&#xff0c;人们越来越倾向于通过网络平台进行各类交易活动&#xff0c;在线拍卖系统…

真的一行代码没写,使用cursor智能代码编辑器,通过问答的方式,我构建了一个微信小程序

文章目录 1 待办123 产品介绍1.1 使用说明1.2 产品亮点1.3 应用场景 2 零基础实战教程&#xff1a;零代码开发微信小程序2.1 微信公众号注册小程序2.2 下载安装微信开发者工具2.3 下载安装cursor2.4 使用cursor零代码构建微信小程序 3 总结 使用cursor已经有一段时间了&#xf…

element-plus在Vue3中开发相关知识

报错&#xff1a;error.mjs:20 ElementPlusError: [ElForm] model is required for resetFields to work. 原因&#xff1a;el-form使用v-model没有把内容绑定上&#xff0c;需要使用 :model 才可以校验 将&#xff1a; <el-form label-width"auto" class"…

Python爬虫实战(保姆级登网页信息爬取教程)

此blog为爬虫实战教学&#xff0c;代码已附上&#xff0c;可以复制运行。若要直接看实战代码翻到博客后半部分。 本文使用selenium库进行爬虫&#xff0c;实现爬取数据操作&#xff0c;此库是通过模仿用户的操作进行对页面的处理。了解了这个思维模式&#xff0c;可以对代码进…