news 2026/9/21 2:52:50

项目中的一些问题(补充)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
项目中的一些问题(补充)

描述问题

轮播****图循环异常
  • 你想要什么效果

  • 请求完接口数据后,数据渲染为轮播图,而且轮播图能循环播放

  • 哪个地方不是你预期的效果

  • 请求完接口数据后,轮播图也能正常轮播,但是播放到最后一幅后,不再循环播放

解决方案

<swiper>组件上添加 v-if=“swiperList.length”

分析原理

  • 如果没有加 v-if

  • 在接口数据到来之前,swiper已经初始化,此时数据为[], loop选项是针对空数据的循环控制,

而获取数据之后,虽然触发了视图更新,但只更新<swiper-slide>,而没有更新swiper配置,所以循环失效

  • 如果加了v-if

  • 在接口数据到来之前,因为swiper上有v-if的判断,此时数据为[],所以swiper组件根本没有初始化。而获取数据后,v-if判断为真,引时触发视图更新,就是针对所有图片的loop设置

vue3项目开发中注意事项

**配置css和js

  1. 安装重置样式normalize.css
npm i normalize.css
  1. 移动端适配js

    复制flexible.js到src/assets文件夹中

  2. 引入图标字体

    在assets/fonts中存入图标字体文件

    在assets/css中存入iconfont.css, 并修正路径

  3. 定义全局css

    在assets/css中创建global.css,定义全局样式

  4. 在main.js中引入以下文件 ,以便全局使用

// 引入重置样式 import 'normalize.css' import './assets/css/global.css' import './assets/css/iconfont.css' // 引入rem适配的js import './assets/flexible'
  1. 修改px-to-rem插件的配置

    基准font-size: 75

    规定屏幕宽度: 750

  2. App.vue的style标签中,去掉scoped属性

  3. 在任意组件中使用图标字体

<i class="iconfont icon-kefu"></i>

处理本地静态资源

<div class="logo"> <p><button>切换图片</button></p> <p><img :src="url" alt=""></p> <!-- <p><img src="../../../assets/img/m_hualogo.png" alt=""></p> --> </div>
<script> //引用本地静态资源模块 import logo from '../../../assets/img/m_hualogo.png' export default { data() { return { //引用本地静态资源,不能使用下面的方式 // url: '../../../assets/img/m_hualogo.png' url: logo, // 线上地址有效 // url: 'https://m.hua.com/content/vue/login/static/img/m_hualogo.png' } } } </script>

拼接

<script setup> let imgurl = 'baidu_logo.png'; var icon = new URL(`../assets/imgs/${imgurl}`, import.meta.url) change(){ // 2. 使用当前资源 // this.url = logo; this.url = new URL(`../../assets/images/m_home_logo.png`, import.meta.url); } </script> <template> <div class="imgs"> <img :src=icon alt=""> </div> </template>

vite 中使用 @ ,配置路径别名

修改vite.config.js

import { defineConfig } from "vite"; import vue from "@vitejs/plugin-vue"; import path from 'path' // https://vitejs.dev/config/ export default defineConfig({ plugins: [vue()], server: { //启动热更新 hmr: true, }, resolve: { // 配置路径别名 alias: { '@': path.resolve(__dirname, './src'), }, }, });
  1. Sass****的使用

  2. 全局引入****sass

  • src/assets/scss/common.scss
$$green: #0f0; ul,li { list-style: none; background-color: $$green; }
  • 在main.js中引入
import "@/assets/scss/common.scss"
  1. 在指定组件中引入****sass
  • src/assets/scss/variables.scss (定义全量)
$bg: rgb(17, 24, 152);
  • 在组件中引入
<style lang="scss"> @import "./assets/scss/variables.scss"; $light: #f00; .app { width: 5rem; border: 1px solid $ light; background-color: $bg; } </style>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/21 2:10:54

12.17 vue递归组件

recursion 递归 使用递归组件可以方便地在组件内部递归地渲染子节点。例如&#xff0c;可以使用一个名为 tree-node 的组件&#xff0c;该组件在其模板中递归地包含自身&#xff0c;并在每一层次上显示节点的标签和其子节点。这样&#xff0c;当数据发生变化时&#xff0c;组件…

作者头像 李华
网站建设 2026/9/20 12:23:18

QtScrcpy高刷投屏优化指南:告别卡顿,享受流畅体验

QtScrcpy高刷投屏优化指南&#xff1a;告别卡顿&#xff0c;享受流畅体验 【免费下载链接】QtScrcpy Android实时投屏软件&#xff0c;此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限 项目地址: https://gitcode.com/barry-ran/Qt…

作者头像 李华
网站建设 2026/9/21 20:21:36

终极移动端Windows应用运行指南:从零到流畅体验

终极移动端Windows应用运行指南&#xff1a;从零到流畅体验 【免费下载链接】mobox 项目地址: https://gitcode.com/GitHub_Trending/mo/mobox 在移动设备上运行Windows应用曾经是遥不可及的梦想&#xff0c;如今通过Mobox技术已成为现实。本文将深度解析移动端Windows…

作者头像 李华
网站建设 2026/9/22 0:58:49

大学里的网络安全专业为什么没多少人就读?

1、学科自身的定位略显尴尬 网络安全最早开设的时候叫信息安全&#xff0c;一般归属计算机科学与技术、网络工程或软件工程专业&#xff0c;后来政策层面统称网络安全之后&#xff0c;在大学里也相应地改为网络安全或网络空间安全专业。这个专业和软件工程、网络工程一样&…

作者头像 李华
网站建设 2026/9/21 3:12:02

信息安全和网络空间安全这2个专业怎么选?老网安告诉你答案!

网络空间安全和信息安全这2个专业都是计算机专业&#xff0c;而且是最适合走网络安全方向的2个热门专业&#xff0c;那么它们有什么不一样&#xff1f;又该如何选择&#xff1f;老网安人告诉你答案。 一、相同之处 1. 目标相同 网络空间安全专业和信息安全专业都致力于保护计…

作者头像 李华
网站建设 2026/9/21 2:41:35

英语发音MP3音频库:119,376个单词标准发音完整解决方案

英语发音MP3音频库&#xff1a;119,376个单词标准发音完整解决方案 【免费下载链接】English-words-pronunciation-mp3-audio-download Download the pronunciation mp3 audio for 119,376 unique English words/terms 项目地址: https://gitcode.com/gh_mirrors/en/English-…

作者头像 李华