在vue3中使用datav完整引入时卡在加载页面的解决方法

文件修改

文件:node_modules/@dataview\datav-vue3/package.json

javascript 复制代码
  // "module": "./es/index.js",
  "module": "./es/index.mjs",  // 修改后

使用完整引入,需要为datav配置文件添加相应方法

文件:node_modules/@dataview\datav-vue3/es/index.mjs

javascript 复制代码
// 全局注册方法
// 存在问题,未对setClassPrefix方法处理
// D、E、G...符号代表BorderBox1、BorderBox10、BorderBox11...组件名称
export default {
  install: (app, options) => {
    const components = [
	  D,
	  E,
	  G,
	  I,
	  K,
	  g,
	  C,
	  P,
	  h,
	  k,
	  u,
	  w,
	  z,
	  N,
	  Q,
	  S,
	  U,
	  W,
	  Y,
	  _,
	  oo,
	  eo,
	];
	components.map((component) => {
		app.component(component.name, component);
	});
  }
}

在utils中添加文件datav.js

javascript 复制代码
import * as DataV from '@dataview/datav-vue3';

// 随便写即可
export default function (app) {
  const module = Object.keys(DataV);
  for (const m of module) {
    if (m === 'Loading') continue; // 因为项目饿了么注册过这个组件,就不用datav提供的,跳过本次循环
    app.component(DataV[m].name, DataV[m]);
  }
}

main.js中全局引入修改:

javascript 复制代码
import DataV from '@/utils/datav';
const app = createApp(App)
app.use(DataV);


即可解决!

若出现TypeError: Cannot read properties of null (reading '$el')报错,参考这篇文章的解决方法:

若依vue使用DataV设计大屏报错多是版本问题

报错问题Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node,参考这篇文章的解决方法:

datav+vue3 引用报错,跳转页面报错,DOMException: Failed to execute 'removeChild' on 'Node': The node to be remov

解决上述两种报错以后,使用vue3编程式导航实现页面跳转时不会再出现问题!

相关推荐
我叫张小白。6 小时前
Vue3 响应式数据:让数据拥有“生命力“
前端·javascript·vue.js·vue3
我叫张小白。13 小时前
Vue3监视系统全解析
前端·javascript·vue.js·前端框架·vue3
凯小默13 小时前
05-初始化登录页面和加入校验规则
vue3
凯小默1 天前
04-封装路由初始化方法
vue3
草木红2 天前
vite 安装 vue3 和 tailwindcss
vue3·vite·tailwindcss
凯小默3 天前
vue3-10-计算属性以及get跟set
vue3
Eshine、4 天前
解决前端项目中,浏览器无法正常加载带.gz名称的文件
前端·vue3·.gz·.gz名称的js文件无法被加载
Light604 天前
Vue3 关键字速查表:从入门到进阶的全景指南
vue3·前端开发·响应式编程·组合式api·ai集成
你说啥名字好呢11 天前
【Vue 渲染流程揭秘】
前端·javascript·vue.js·vue3·源码分析
浩星14 天前
vue3+datav实现大屏效果
vue.js·datav·大屏