当前位置:   article > 正文

vue3运行+UI+router安装_vue3怎么安装elementui

vue3怎么安装elementui

前置配置

  • 使用vite安装,node需要安装16以上的版本

vue3通过vite安装

MyProject 是你的项目名字,可以手动更改

npm init vite@latest MyProject --template vue

配置选择

  • 第一个确定项目名称

  • 第二个确定使用的框架

  • 第三个选择语法 默认的是js,下面有个ts的

切换到你创建的目录下面

cd MyProject

安装对应的依赖

npm install

运行项目

npm run dev

之后就运行了,结果如下图,默认的端口是3000,我开了其他的所以换了端口

这样一个通过vite的项目就构建好了,下面的是默认界面

elementUI组件安装

为了找一个好看的ui,我们得导入ui的组件

vue3的安装命令如下,2的话是element,3加了个plus

npm install element-plus --save

main.js配置

之后在src的main.js里面进行UI组件的全局导入 -- 复制粘贴即可

  1. import { createApp } from 'vue'
  2. import ElementPlus from 'element-plus'
  3. import 'element-plus/dist/index.css'
  4. import App from './App.vue'
  5. const app = createApp(App)
  6. app.use(ElementPlus)
  7. app.mount('#app')

elementUI 网址+案例

同款日历链接,Calendar 日历 | Element Plus

  • 不过颜色可能不是这样的,我这个属于浏览器的颜色了,这个服务器在国外,所以可能要点网速或者耐心的等待了

  • 点进去之后直接cv 复制代码就可以都带走了,vite热部署的,所以只要ctrl + s保存就能用

router路由使用

路由安装

路由:作为实现页面跳转的神器,也是必不可少的啊

安装命令

npm install vue-router@next --save

main.js配置

  1. import { createApp } from 'vue'
  2. import ElementPlus from 'element-plus'
  3. import router from './router'
  4. import 'element-plus/dist/index.css'
  5. import App from './App.vue'
  6. const app = createApp(App)
  7. app.use(ElementPlus).use(router)
  8. app.mount('#app')

router使用

  • 先创建一个router的目录

  • 在创建一个index.js的文件

  • 将路径跳转的内容写在里面

  • 这里的组件是你自己写的,之后根据路径就可以跳转了

  1. import { createRouter, createWebHashHistory } from "vue-router";
  2. //写你需要的路由
  3. const routes = [
  4. {
  5. //路径选择
  6. path: "/",
  7. //路径名称
  8. name: "index",
  9. //组件导入
  10. component: () => import("../view/Index.vue"),
  11. },
  12. {
  13. path: "/login",
  14. name: "Login",
  15. meta: {
  16. title: '登录'
  17. },
  18. component: () => import( /* webpackChunkName: "login" */ "../view/Login.vue")
  19. }
  20. ];
  21. //我也不懂,不动就好了,我c的
  22. const router = createRouter({
  23. history: createWebHashHistory(),
  24. routes
  25. });
  26. export default router;

项目的话 这个app的还是很好看的https://github.com/newbee-ltd/newbee-mall-vue3-app.git

到此为止,应该就可以开始漫长的学习之旅了

子组件传数据给父组件

  • 子组件返回响应式数据

  • 父组件创建响应式变量进行绑定

const sonRef = ref(null);
  • 父组件创建变量获取

    1. const son = sonRef.value.(return的值)
    2. //在组件位置进行ref绑定
    3. <MyScore ref="sonRef"> </MyScore>

改变端口的方法

在package.json改变

  "dev": "vite --port 3000",

路由跳转

  • 导入组件

    import { useRouter } from "vue-router";
  • 创建对象

    const router = useRouter();
  • 输入路径

    router.push("/index");

如何获取路由上的信息

id的获取

  1. //userouter获取
  2. const router = useRouter();
  3. //按照路径找到id值
  4. const id = router.currentRoute.value.params.id

vuex使用

  • 安装依赖

    npm install vuex 
  • main.js中导入

    1. import store from './store'
    2. app.use(ElementPlus).use(router).use(store)
  • 创建store目录和index.js文件

    写入数据进行存储

    1. //index.js文件
    2. //导入vuex
    3. import {createStore} from 'vuex'
  1. export default createStore({
  2. //仓库存贮数据的地方
  3. state: {
  4. collapse: false
  5. },
  6. //修改state唯一的手段
  7. mutations: {
  8. // 侧边栏折叠
  9. handleCollapse(state, data) {
  10. state.collapse = data;
  11. }
  12. },
  13. //处理自己的逻辑,可以书写自己的业务逻辑,也可以处理异步
  14. actions: {},
  15. modules: {}
  16. })
  • 组件中引用
  • 导入vuex

    1. import { computed } from "vue";
    2. import { useStore } from "vuex";
    • 创建变量 承接数据

      1. const store = useStore();
      2. const collapse = computed(() => store.state.collapse);
      • 把数据放在需要的位置

安装axios

  • 安装命令
npm install axios

前后端如何进行连接

  • 首先要有发送axios的文件 request.js

    获取axios 对指定端口发送axios请求,也就是后端服务器接口

    1. import axios from 'axios';
    2. const service = axios.create({
    3. //开发环境
    4. NODE_ENV: '"development"',
    5. //后端接口
    6. baseURL: 'http://localhost:8201',
    7. //响应超时
    8. timeout: 5000
    9. });
    • 配置个拦截器响应器,axios链接里有详细介绍
  1. //请求拦截器
  2. service.interceptors.request.use(
  3. //config配置对象
  4. config => {
  5. return config;
  6. },
  7. error => {
  8. console.log(error);
  9. return Promise.reject();
  10. }
  11. );
  12. //响应拦截器
  13. service.interceptors.response.use(
  14. response => {
  15. //响应成功的回调函数
  16. if (response.status === 200) {
  17. return response.data;
  18. } else {
  19. //失败的回调函数
  20. Promise.reject();
  21. }
  22. },
  23. error => {
  24. console.log(error);
  25. return Promise.reject();
  26. }
  27. );
  • 最重要的一步

    记得给外部用

    export default service;
  • 配置连接后端的文件

    • 导入axios的文件,路径是你自己的

      import request from '../../utils/request';
    • 配置给后端的接口

      1. export default {
      2. //根据id查询 不是最新的方法
      3. getById(id){
      4. return request({
      5. //地址 id动态传参
      6. url: `/后端地址/${id}`,
      7. //请求方法
      8. method: 'GET',
      9. //data:obj 如果后端传过来json数据就可以用data
      10. })
      11. },
      12. }
  • 后端写好接口,加注解@@CrossOrigin,防止跨域

    @CrossOrigin
  • 项目导入接口文件

    • name: 你使用时候的名字,名字随意

      后面是你文件的地址

      import name from "../api/index";
  • 项目中使用

    • 定义方法:getInfoById (应该也不是最新的写法)

    • name:你自己定义的

    • getById(): 你定义文件中发送后端请求的地址的方法

    • params:你定义存储数据的变量

    • res.data:获取到后端的数据

    1. //根据id查询信息
    2. function getInfoById(id) {
    3. name.getById(id).then((res) => {
    4. params = res.data
    5. });
    6. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/118048
推荐阅读
相关标签
  

闽ICP备14008679号