mpvue main.js引入css,mpvue 目录详解及mpvue踩坑系列

2023-11-21 02:10

本文主要是介绍mpvue main.js引入css,mpvue 目录详解及mpvue踩坑系列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文件目录

app.json

.postcssrc.js 和 postcss.config.js

样式转化问题:rem转rpx

4fb888bb6a9aba406b2167e0d4d5c2ff.png

pages

其中每一个页面对应一个文件夹

main.js

6d1e4b6fa342b94eeaa29ab942b0f7d2.png

main.json

ec76bb0d7ef2e8d6b7a4ba8abecbfe87.png

index.vue

1、不要出现header,section,footer等标签,全部改成div

2、{{}}动态数据绑定

由于微信小程序的能力限制(数据绑定),所以无法支持复杂的 JavaScript 表达式。

凡是涉及较为复杂的表达式,可以用computed来代替

3、for 循环

e3dad5ae979d9a80b386aacbb252ae47.png

4、数据处理

da51db63f2eddf2bb7e06b011a11b0d7.png

b062e42552f68d37fbd89a74a21d10ed.png

5、生命周期

mpvue同时支持了vue的生命周期和小程序的生命周期

index.css

标签问题

1、注意b标签在小程序转化后是display:block 属性,所以要么将b标签改成span标签,要么在b标签里面添加display:inline-block属性

背景图片问题

2、背景图片只能用线上的图片,引用本地图片会报错。

图片自适应问题

3、图片宽高自适应问题,在小程序中直接设置图片宽度为100%是不能让他本身的高度是自适应的,需要在图片本身身上添加mode="widthFix"属性

2a9afbc482adcc8b71265bd1d8e6e3c6.png

iphoneX 兼容问题

4、iphoneX底部按钮兼容问题

onShow () {

let that = this

wx.getSystemInfo({

success: res => {

let modelmes = res.model

if (modelmes.search('iPhone X') !== -1) {

that.isIphoneX = true

that.$store.commit('setIsIphoneX', that.isIphoneX)

}

}

})

}

复制代码navBar 样式

5、底部弹出框遮盖navBar 问题

navBar 层级最高,所以只能自定义navbar,或者将弹出框出现在中间部分。

自定义弹出框问题

6 自定义弹出框——后面背景不能动问题

7fecde21c0fca3767b970b6c73ac9d2a.png

components

和vue使用组件方法原理一样

style 文件夹

vue文件

utils

import Vue from 'vue'

var Fly = require('flyio/dist/npm/wx') // wx.js为flyio的微信小程序入口文件

var fly = new Fly() // 创建fly实例

// 添加拦截器

// 添加响应拦截器,响应拦截器会在then/catch处理之前执行

fly.interceptors.response.use(

(response, promise) => {

// 只将请求结果的data字段返回

return response.data

},

(err, promise) => {

if (err) {

wx.hideLoading()

wx.showToast({

title: '网络不流畅,请稍后再试',

icon: 'none',

duration: 2500

})

}

}

)

// 配置请求基地址

Vue.prototype.$http = fly

fly.config.baseURL = 'http://user.cheeze.api.dev.hzmantu.com/api'

export default fly

复制代码request.js

请求数据

import store from '@/utils/store.js'

import Vue from 'vue'

Vue.prototype.$store = store

const host = ''

function request (url, method, data, header) {

wx.showLoading({

title: '加载中' // 数据请求前loading

})

return new Promise((resolve, reject) => {

wx.request({

url: host + url, // 仅为示例,并非真实的接口地址

method: method,

data: data,

header: header,

success: function (res) {

wx.hideLoading()

resolve(res.data)

},

fail: function (error) {

wx.hideLoading()

reject(error)

},

complete: function () {

wx.hideLoading()

}

})

})

}

function get (obj) {

return request(obj.url, 'GET', obj.data, obj.header)

}

function post (obj) {

return request(obj.url, 'POST', obj.data, obj.header)

}

function del (obj) {

return request(obj.url, 'DELETE', obj.data, obj.header)

}

export default {

request,

get,

post,

del,

host

}

复制代码

小程序对应规则

页面跳转

路由跳转传参

wx.navigateTo({

url:'../test/main?id='+id

})

复制代码第一种:

onShow (options) {

let id = options.id

}

复制代码第二种:在所有页面组件内可以通过 this.mp.query获取

要注意就是:写在mounted函数里,写到created报错

第三种:在所有的组件内可以通过 this.mp.appOptions获取。

正常情况下三种应该都是可以的,某一种没用的时候就尝试另外两种

e93d736a6892de802166ff75f03e8957.png

微信自带组件

弹出框

14a65eaa6e74d1dbb51092f06dc0dc08.png

picker 组件踩坑

当前选择: {{date}}

复制代码

mpvue 可以支持小程序的原生组件,比如: picker,map 等,需要注意的是原生组件上的事件绑定,需要以 vue 的事件绑定语法来绑定,如 bindchange="eventName" 事件,需要写成 @change="eventName"

睁大眼睛仔细对比小程序文档和我截图代码的区别

mpvue 中同样有事件,但是调取参数 e 的值的方式和 Web 不同,需要使用 e.mp.detail

4b93f0abe437e42e1931a66683ae8799.png

2c4bde94a00da0ea985b06e289643c25.png

轮播图

8ef18e0f8a74b74f10563214c4e339df.png

设置图片高度:要去设置swiper标签的高度才能控制图片的高度

这篇关于mpvue main.js引入css,mpvue 目录详解及mpvue踩坑系列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/399094

相关文章

CSS3 布局样式及其应用举例

《CSS3布局样式及其应用举例》CSS3的布局特性为前端开发者提供了无限可能,无论是Flexbox的一维布局还是Grid的二维布局,它们都能够帮助开发者以更清晰、简洁的方式实现复杂的网页布局,本文给... 目录深入探讨 css3 布局样式及其应用引言一、CSS布局的历史与发展1.1 早期布局的局限性1.2

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

CSS引入方式和选择符的讲解和运用小结

《CSS引入方式和选择符的讲解和运用小结》CSS即层叠样式表,是一种用于描述网页文档(如HTML或XML)外观和格式的样式表语言,它主要用于将网页内容的呈现(外观)和结构(内容)分离,从而实现... 目录一、前言二、css 是什么三、CSS 引入方式1、行内样式2、内部样式表3、链入外部样式表四、CSS 选

C#特性(Attributes)和反射(Reflection)详解

《C#特性(Attributes)和反射(Reflection)详解》:本文主要介绍C#特性(Attributes)和反射(Reflection),具有很好的参考价值,希望对大家有所帮助,如有错误... 目录特性特性的定义概念目的反射定义概念目的反射的主要功能包括使用反射的基本步骤特性和反射的关系总结特性

使用雪花算法产生id导致前端精度缺失问题解决方案

《使用雪花算法产生id导致前端精度缺失问题解决方案》雪花算法由Twitter提出,设计目的是生成唯一的、递增的ID,下面:本文主要介绍使用雪花算法产生id导致前端精度缺失问题的解决方案,文中通过代... 目录一、问题根源二、解决方案1. 全局配置Jackson序列化规则2. 实体类必须使用Long封装类3.

详解如何在SpringBoot控制器中处理用户数据

《详解如何在SpringBoot控制器中处理用户数据》在SpringBoot应用开发中,控制器(Controller)扮演着至关重要的角色,它负责接收用户请求、处理数据并返回响应,本文将深入浅出地讲解... 目录一、获取请求参数1.1 获取查询参数1.2 获取路径参数二、处理表单提交2.1 处理表单数据三、

PyQt6中QMainWindow组件的使用详解

《PyQt6中QMainWindow组件的使用详解》QMainWindow是PyQt6中用于构建桌面应用程序的基础组件,本文主要介绍了PyQt6中QMainWindow组件的使用,具有一定的参考价值,... 目录1. QMainWindow 组php件概述2. 使用 QMainWindow3. QMainW

MySQL中SQL的执行顺序详解

《MySQL中SQL的执行顺序详解》:本文主要介绍MySQL中SQL的执行顺序,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql中SQL的执行顺序SQL执行顺序MySQL的执行顺序SELECT语句定义SELECT语句执行顺序总结MySQL中SQL的执行顺序

Java资源管理和引用体系的使用详解

《Java资源管理和引用体系的使用详解》:本文主要介绍Java资源管理和引用体系的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Java的引用体系1、强引用 (Strong Reference)2、软引用 (Soft Reference)3、弱引用 (W

C语言中的常见进制转换详解(从二进制到十六进制)

《C语言中的常见进制转换详解(从二进制到十六进制)》进制转换是计算机编程中的一个常见任务,特别是在处理低级别的数据操作时,C语言作为一门底层编程语言,在进制转换方面提供了灵活的操作方式,今天,我们将深... 目录1、进制基础2、C语言中的进制转换2.1 从十进制转换为其他进制十进制转二进制十进制转八进制十进