首页 > 其他分享 >Nuxtjs如果使用useHead()导入swiper,除了在onMounted调用,切换报错前面使用 await nextTick();

Nuxtjs如果使用useHead()导入swiper,除了在onMounted调用,切换报错前面使用 await nextTick();

时间:2024-04-24 14:11:35浏览次数:23  
标签:nextTick useHead await homeList 报错 import swiper const

 

注意:

 await nextTick();  如果没用,vue切换的时候可能有问题
<script lang="ts" setup>
import { DArrowRight } from "@element-plus/icons-vue";
useHead({
  script: [
    {
      src: "/script/swiper.js",
    },
  ],
  link: [
    {
      rel: "stylesheet",
      type: "text/css",
      href: "/css/swiper.css",
    },
  ],
});
import { ref, onMounted, nextTick } from "vue";
import _ from "lodash";
const apiUrl = import.meta.env.VITE_API_URL;
import { productCenterPageAPI } from "~/utils/api";
// 首页详情
let homeList = ref<any>([]);
async function homeFun() {
  const home: any = await productCenterPageAPI();
  homeList.value = home;
  await nextTick();
  swiper1Container();
  console.log(homeList.value, "homeFunhomeFun");
  useHead({
    meta: [
      { name: "description", content: homeList.value.seo.des },
      {
        hid: "keywords",
        name: "keywords",
        content: homeList.value.seo.key,
      },
    ],
  });
  await nextTick();
  swiper1Container();
}

// 轮播图
const swiper1Container = () => {
  const swiper = new Swiper(".swiper-container", {
    autoplay: {
      delay: 2500,
      disableOnInteraction: false,
    },
    loop: true,
    initialSlide: 2,
    spaceBetween: 20,
    centeredSlides: true,
    slidesPerView: 1.9,
    pagination: {
      el: ".swiper-pagination",
      clickable: true,
    },
    breakpoints: {
      320: {
        //当屏幕宽度大于等于320
        slidesPerView: 1,
        spaceBetween: 10,
      },
      768: {
        //当屏幕宽度大于等于768
        slidesPerView: 1.8,
        spaceBetween: 20,
      },
      1280: {
        //当屏幕宽度大于等于1280
        slidesPerView: 1.9,
        spaceBetween: 30,
      },
    },
    // 如果需要前进后退按钮
    // navigation: {
    //   nextEl: ".swiper-button-next",
    //   prevEl: ".swiper-button-prev",
    // },
  });
};

onMounted(() => {
  homeFun();
  // console.log(`${process.env.API_URL}`, "process.env.API_URL", apiUrl);
});
</script>

 

标签:nextTick,useHead,await,homeList,报错,import,swiper,const
From: https://www.cnblogs.com/hechunfeng/p/18155159

相关文章

  • 客户端使用 FeignClient 调用服务端服务时,报错:Request method ‘POST‘ not supporte
    客户端使用FeignClient调用服务端服务时,报错:Requestmethod‘POST‘notsupported修改错误前调用方式:FeignClient 接口服务@FeignClient(contextId="remotePayFormService",value="payment-service-system")publicinterfaceRemotePayFormService{@GetMap......
  • oracle连接数据库报错ORA-12541:TNS:无监听程序
    最近闲来无事修改了电脑的用户名,本来以为不会影响什么,后来发现oracle数据库连接不上了,报错如下图:查看服务发现确实停止了,启动也启动不起来了搜索NetManager查看配置, 发现配置里面是我修改前的电脑名,才发现问题所在,随后我又把电脑名称改回来了数据库才能正常连接修改用户......
  • python3下安装mysqlclient各种报错 raise OSError mysql_config not found
    linux下载地址:https://files.pythonhosted.org/packages/a5/e1/e5f2b231c05dc51d9d87fa5066f90d1405345c54b14b0b11a1c859020f21/mysqlclient-2.0.1.tar.gz#sha256=fb2f75aea14722390d2d8ddf384ad99da708c707a96656210a7be8af20a2c5e5在服务器执行pipinstallmysqlclient-2.0.......
  • cmake报错CMake Error: Could not find CMAKE_ROOT
    从cmake的地址下载源码https://cmake.org/files/比如cmake-3.14.0-rc3.tar.gz tarxvfcmake-3.14.0-rc3.tar.gz cd  cmake-3.14.0-rc3../configuremake-j32sudomakeinstall 然后执行cmake发现报了CMakeError:CouldnotfindCMAKE_ROOT的错误。这个错误的原......
  • trace报错ORA-01565 ORA-00204 ORA-00202 ORA-15081
    项目环境:OS:Oraclelinux7.9grid版本:12.2.0.1Oracle版本:12.2.0.1故障现象:两个节点只能同时open一个节点,启动另一个节点时报错,不能访问磁盘组并且在实例trace日志中有报错ORA-01565......
  • react-native-vision-camera 扫二维码报错 [unknown/unknown] Waiting for the barcod
    1.问题:使用react-native-vision-camera库扫描解析二维码时,部分手机出现如下报错:2.解决:android/app/build.gradle文件中添加依赖:dependencies{//...implementation'com.google.mlkit:barcode-scanning:17.2.0'}3.参考:GitHub相关issues......
  • MySQL的在sync_binlog!=1造成1236报错【转】
    前言本文总结了主从复制的原理及日常运维的坑1.主从复制简介MySQL复制是指从一个MySQL主服务器(master)将数据拷贝到另一台或多台MySQL从服务器(slaves)的过程,将主数据库的DDL和DML操作通过二进制日志传到从库服务器上,然后在从服务器上对这些日志重新执行,从而使得主......
  • centos8报错错误:为 repo 'appstream' 下载元数据失败 : Cannot prepare internal mirr
    出现如下错误的错误:为repo‘appstream’下载元数据失败:Cannotprepareinternalmirrorlist:NoURLsinmirrorlist原因在2022年1月31日,CentOS团队终于从官方镜像中移除CentOS8的所有包。CentOS8已于2021年12月31日寿终正非,但软件包仍在官方镜像上保留了一段时间。现在......
  • Mysql 密码报错 You must reset your password ... 和 Your password does N
    如果MySQL数据库用户的密码设置过于简单,数据库在用户登录后会提示重置密码,并且不接受简单的密码。提示需要重置密码:ERROR1820(HY000):YoumustresetyourpasswordusingALTERUSERstatementbeforeexecutingthisstatement.Mysql数据库版本:5.7.1操作系统:CentOS7这......
  • Pycharm报错:ReadTimeoutError: HTTPSConnectionPool(host=‘files.pythonhosted.org‘
    今天在pycharm里面pipinstall库的时候报了这个错,如图所示:第一种,设置超时时间,命令如下:pip--default-timeout=1000install-U模块名第二种,用镜像网站进行下载,这种方法下载的速度超快的哦=.=,命令如下:pip--default-timeout=100install库名称-ihttp://pypi.douban.com/......