您当前的位置: 首页 >  ui

杨林伟

暂无认证

  • 3浏览

    0关注

    3337博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Vue系列教程(18)- 集成UI框架(ElementUI)

杨林伟 发布时间:2021-06-29 18:05:03 ,浏览量:3

文章目录
  • 1. 引言
  • 2. ElementUI案例
    • 2.1 创建项目
    • 2.2 安装依赖
    • 2.3 创建页面
    • 2.4 配置路由
    • 2.5 运行程序

1. 引言

通过前面的章节,我们已经学会了使用vue-router来实现页面的跳转,有兴趣的同学可以参阅下:

  • 《Vue系列教程(01)- 前端发展史》
  • 《Vue系列教程(02)- Vue环境搭建、项目创建及运行》
  • 《Vue系列教程(03)- Vue开发利器VsCode》
  • 《Vue系列教程(04)- VsCode断点调试》
  • 《Vue系列教程(05)- 基础知识快速补充(html、css、js)》
  • 《Vue系列教程(06)- Vue调试神器(vue-devtools)》
  • 《Vue系列教程(07)- Vue第一个程序(MVVM模式的引入)》
  • 《Vue系列教程(08)- 基本语法》
  • 《Vue系列教程(09)- 事件绑定》
  • 《Vue系列教程(10)- Model数据内容双向绑定》
  • 《Vue系列教程(11)- 组件详解》
  • 《Vue系列教程(12)- Axios异步通信》
  • 《Vue系列教程(13)- 计算属性(computed)》
  • 《Vue系列教程(14)- 插槽(slot)》
  • 《Vue系列教程(15)- 事件内容分发($emit)》
  • 《Vue系列教程(16)- 模块打包器(webpack)》
  • 《Vue系列教程(17)- 路由(vue-router)》

目前我们的案例界面都是比较简单的,网上其实有很多好看的UI框架,它们很好的兼容了Vue,本文以ElementUI为例作一个讲解。

2. ElementUI案例

ElementUI官网地址:https://element.eleme.cn/#/zh-CN

ElementUI 是网站快速成型工具,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库。 在这里插入图片描述

2.1 创建项目

① 新建elui-demo项目:

vue create elui-demo

③使用vscode导入: 在这里插入图片描述

2.2 安装依赖

这里需要安装vue-router、element-ui、sass-loadernode-sass四个插件。

① 在vscode菜单栏,依次Terminal -> new Terminal,打开控制台后,安装依赖:

#安装vue-routern 
npm install vue-router --save-dev
#安装element-ui
npm i element-ui -S
#安装依赖
npm install
# 安装SASS加载器
cnpm install sass-loader node-sass --save-dev

npm命令解释:

  • npm install moduleName:安装模块到项目目录下
  • npm install -g moduleName:-g的意思是将模块安装到全局,具体安装到磁盘哪个位置要看npm config prefix的位置
  • npm install -save moduleName:–save的意思是将模块安装到项目目录下, 并在package文件的dependencies节点写入依赖,-S为该命令的缩写
  • npm install -save-dev moduleName:–save-dev的意思是将模块安装到项目目录下,并在package文件的devDependencies节点写入依赖,-D为该命令的缩写
2.3 创建页面

components文件夹创建登录页面(Login.vue),可以直接复制ElementUI的代码过来:


  
    
      欢迎登录
      
        
      
      
        
      
      
        登录
      
    

    
      请输入账号和密码
      
        确定
      
    
  



export default {
  name: "Login",
  data() {
    return {
      form: {
        username: "",
        password: "",
      },
      //表单验证,需要在 el-form-item 元素中增加prop属性
      rules: {
        username: [
          { required: true, message: "账号不可为空", trigger: "blur" },
        ],
        password: [{ required: true, message: "密码不可为空", tigger: "blur" }],
      },

      //对话框显示和隐藏
      dialogVisible: false,
    };
  },
  methods: {
    onSubmit(formName) {
      //为表单绑定验证功能
      this.$refs[formName].validate((valid) => {
        if (valid) {
          //使用vue-router路由到指定界面,该方式称为编程式导航
          this.$router.push("/main");
        } else {
          this.dialogVisible = true;
          return false;
        }
      });
    },
  },
};



.login-box {
  border: 1px solid #dcdfe6;
  width: 350px;
  margin: 180px auto;
  padding: 35px 35px 15px 35px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  box-shadow: 0 0 25px #909399;
}

.login-title {
  text-align: center;
  margin: 0 auto 40px auto;
  color: #303133;
}


components文件夹创建主页面(Main.vue):


  
    首页
    跳转到登录页面
    
  


export default {
  name: "Main",
};



2.4 配置路由

① 配置router文件夹下的index.js文件,内容如下:

//导入vue
import Vue from 'vue';
import VueRouter from 'vue-router';
//导入组件
import Main from "../components/Main";
import Login from "../components/Login";

//使用
Vue.use(VueRouter);

//导出
export default new VueRouter({
  routes: [
    {
      //首页
      path: '/main',
      component: Main
    },
    //  默认首页
    {
      path: '/',
      redirect: '/main'
    },
    //登录页
    {
      path: '/login',
      component: Login
    },
  ]

})

App.vue里引入路由布局,代码如下:


  
    
  



  export default {
    name: 'App'
  }



  #app {
    font-family: 'Avenir', Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-align: center;
    color: #2c3e50;
    margin-top: 60px;
  }


main.js引入路由和ElementUI:

import Vue from 'vue'
import App from './App'
import router from "./router"

import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

Vue.use(router)
Vue.use(ElementUI)

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  render: h => h(App)
})
2.5 运行程序

运行程序:

npm run serve

可以看到报错了(解决方案参考:https://blog.csdn.net/qq_43610311/article/details/116736803): 在这里插入图片描述 这是因为sass-loader的版本过高导致的编译错误,需要退回到7.3.1,输入以下命令:

# 卸载当前版本
npm uninstall sass-loader
npm uninstall node-sass

# 安装
sudo cnpm install sass-loader@7.3.1 --save-dev
sudo cnpm install node-sass@4.14.1

运行的结果: 在这里插入图片描述 点击跳转: 在这里插入图片描述

关注
打赏
1662376985
查看更多评论
立即登录/注册

微信扫码登录

0.2159s