升级了之前做的vue2+ElementUI 的项目,汇总一下遇到的问题

引用Vue

可以直接在html中使用如下cdn:

代码

<div id="app">
  {{msg}}
</div>
<script src="https://unpkg.com/vue@next" rel="external nofollow" ></script>

然后在js中这样写:

const app = {
    data() {
        return {
            msg: "Hello!"
        }
    }
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/1440bb3a251b4ae88b139a0824a79725.png)

注意事项

  1. script的引用不要写在app里面,否则会报Template compilation error: Tags with side effect (script and style) are ignored in client component templates.的错误.
  2. 要指定一个标签的id,否则vue不生效.

引用Elementplus

按照官网的如下代码引用:

代码

html

<head>
  <!-- 导入样式 -->
  <link rel="stylesheet" href="//unpkg.com/element-plus/dist/index.css" />
  <!-- 导入 Vue 3 -->
  <script src="//unpkg.com/vue@next"></script>
  <!-- 导入组件库 -->
  <script src="//unpkg.com/element-plus"></script>
</head>

js


Vue.createApp(app).use(ElementPlus).mount("#app");

应用ElementPlus的图标

ElementPlus与ElementUI不同,图标需要单独引用,按照文档提示如下引用

var app = Vue.createApp(App)

// 导入所有ElementPlus图标并进行全局注册
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    app.component(key, component)
}

app.use(ElementPlus);
app.mount("#app");

使用

使用时按照如下方法:

<!-- 使用 el-icon 为 SVG 图标提供属性 -->
<template>
  <div>
    <el-icon :size="size" :color="color">
      <Edit />
    </el-icon>
    <!-- 或者独立使用它,不从父级获取属性 -->
    <Edit />
  </div>
</template>

引用ElementPlus 的提示功能

当然,ElementPlus的Message提示也需要单独引用,但是可以不用注册到Vue中,如下:

const ElMessageBox = ElementPlus.ElMessageBox
const ElMessage = ElementPlus.ElMessage

然后就可以按照官网的文档使用

 ElMessage({
    message: 'Warning, this is a warning message.',
    type: 'warning',
  })

注意事项

  1. 要按照顺序引入Elementplus,否则不会生效;
  2. 引用cdn连接后还需要在js中声明ElementPlus,否则样式不会生效.
Logo

前往低代码交流专区

更多推荐