Vue

前置知识

1、html

2、css(一般不用css,用sass或less比较多)

  • less
  • sass

3、javascript(vue、React、Axios、ajax)

  • Vue
  • Axios

4、UI框架

  • Ant-Design:基于React的UI框架
  • ElementUI、iview、ice:饿了么出品、基于Vue框架
  • BootStrap
  • AmazeUI:一看html跨屏前端框架

Vue官网:https://cn.vuejs.org/

CDN:

<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>

1.Vue基本语法

  • v-bind
  • v-if
  • v-else
  • v-for
  • v-on–>事件

2.网络通信Axios

  • 伪造json数据
{"name": "cqh","age": "18","sex": "男","url":"https://www.baidu.com","address": {"street": "缇香郡","city": "宁波","country": "中国"},"links": [{"name": "bilibili","url": "https://www.bilibili.com"},{"name": "baidu","url": "https://www.baidu.com"},{"name": "cqh video","url": "https://www.4399.com"}]
}
  • 测试
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><!--在线CDN--><!--1.导入vue.js--><script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script><!--导入axios--><script src="https://cdn.bootcdn.net/ajax/libs/axios/0.19.2/axios.min.js"></script></head>
<body>
<div id="app"><div>{{info.name}}</div><a v-bind:href="info.url">点我到百度链接</a>
</div>
<script>let vm = new Vue({el: "#app",//和data: 不同 属性:vmdata() {return {info: null}},mounted() {//钩子函数 链式编程 ES6新特性axios.get("../data.json").then(response => (this.info=response.data));}});
</script>
</body>
</html>

3.slot【插槽】

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><!--1.导入vue.js--><script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
</head>
<body>
<div id="app"><todo><todo-title slot="todo-title" v-bind:title="title"></todo-title><todo-items slot="todo-items" v-for="item in todoItems" v-bind:item="item"></todo-items></todo>
</div>
<script>//slot 插槽 这个组件要定义在前面不然出不来数据Vue.component("todo", {template: '<div>\<slot name="todo-title"></slot>\<ul>\<slot name="todo-items"></slot>\</ul>\<div>'});Vue.component("todo-title", {//属性props: ['title'],template: '<div>{{title}}</div>'});Vue.component("todo-items", {props: ['item'],template: '<li>{{item}}</li>'});let vm = new Vue({el: "#app",data: {//标题title: "图书馆系列图书",//列表todoItems: ['三国演义', '红楼梦', '西游记', '水浒传']}});
</script>
</body>
</html>

4.vue+elementUI实战

根据之前创建vue-cli项目一样再来一遍 创建项目
1. 创建一个名为 hello-vue 的工程 vue init webpack hello-vue
2. 安装依赖,我们需要安装 vue-router、element-ui、sass-loader 和 node-sass 四个插件

# 进入工程目录
cd hello-vue
# 安装 vue-router
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 run dev 

3. 创建成功后用idea打开,并删除净东西 创建views和router文件夹用来存放视图和路由

4. 在views创建Main.vue
Main.vue

<template><h1>首页</h1>
</template>
<script>export default {name: "Main"}
</script>
<style scoped>
</style>

5. 在views中创建Login.vue视图组件
Login.vue(用的饿了么UI中的代码)

<template><div><el-form ref="loginForm" :model="form" :rules="rules" label-width="80px" class="login-box"><h3 class="login-title">欢迎登录</h3><el-form-item label="账号" prop="username"><el-input type="text" placeholder="请输入账号" v-model="form.username"/></el-form-item><el-form-item label="密码" prop="password"><el-input type="password" placeholder="请输入密码" v-model="form.password"/></el-form-item><el-form-item><el-button type="primary" v-on:click="onSubmit('loginForm')">登录</el-button></el-form-item></el-form><el-dialogtitle="温馨提示":visible.sync="dialogVisible"width="30%":before-close="handleClose"><span>请输入账号和密码</span><span slot="footer" class="dialog-footer"><el-button type="primary" @click="dialogVisible = false">确 定</el-button></span></el-dialog></div>
</template><script>export default {name: "Login",data() {return {form: {username: '',password: ''},// 表单验证,需要在 el-form-item 元素中增加 prop 属性rules: {username: [{required: true, message: '账号不可为空', trigger: 'blur'}],password: [{required: true, message: '密码不可为空', trigger: '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;}});}}}
</script><style lang="scss" scoped>.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;}
</style>

6. 创建路由,在 router 目录下创建一个名为 index.js 的 vue-router 路由配置文件
index.js

//导入vue
import Vue from 'vue';
import VueRouter from 'vue-router';
//导入组件
import Main from "../views/Main";
import Login from "../views/Login";
//使用
Vue.use(VueRouter);
//导出
export default new VueRouter({routes: [{//登录页path: '/main',component: Main},//首页{path: '/login',component: Login},]})

7. 在main.js中配置相关
main.js main.js是index.html调用的 所以基本上所有东西都导出到这
一定不要忘记扫描路由配置并将其用到new Vue中

import Vue from 'vue'
import App from './App'
import VueRouter from "vue-router";
//扫描路由配置
import router from "./router"
//导入elementUI
import ElementUI from "element-ui"
//导入element css
import 'element-ui/lib/theme-chalk/index.css'
//使用
Vue.use(VueRouter)
Vue.use(ElementUI)
Vue.config.productionTip = false
new Vue({el: '#app',router,render: h => h(App),//ElementUI规定这样使用
})

8. 在App.vue中配置显示视图
App.vue

<template><div id="app"><!--展示视图--><router-view></router-view></div>
</template>
<script>export default {name: 'App',}
</script>

9. 最后效果

测试:在浏览器打开 http://localhost:8080/#/login
如果出现错误: 可能是因为sass-loader的版本过高导致的编译错误,当前最高版本是8.0.2,需要退回到4.0.0;
去package.json文件里面的 "sass-loader"的版本更换成7.3.1,然后重新cnpm install就可以了;

Vue+elementUI登陆界面实战相关推荐

  1. vue 动态视频登陆界面 简约冷淡风

    vue 动态视频登陆界面 简约冷淡风 HTML 代码 JS 代码 css 代码 自定义界面内容 动画 视频背景的登陆界面 使用的vue + Coverr 话不多说来看看成品 HTML 代码 <t ...

  2. Vue+element-Ui登录界面

    效果图片 代码块 <template><div class="main"><div class="backImg">< ...

  3. go html vue,[终极巨坑]golang+vue开发日记【三】,登陆界面制作(二)

    写在前面 本期内容是承接上期已经做好了登陆界面来写的,不过本期是以golang为主,可能需要大家把最基本的语法结构熟悉一下:菜鸟教程.这样的话方便展开,自然而然的,本篇也是直接实战为主.这次需要依赖m ...

  4. vue+elementUI完成登陆+注册

    目录 1. vue怎么引入和配置使用element-ui框架 1.1 使用vue-cli脚手架工具创建一个vue项目 1.2 npm安装elementUI 1.3 在项目中src目录下找到main.j ...

  5. vue+elementUI实战之网易云音乐--半月总结!!!

    vue+elementUI实战之网易云音乐--半月总结!!! 模仿网易云音乐pc端 项目搭建 基本项目 引入项目中使用的东西------axios,element-Ul 遇到的问题 播放音乐 路由跳转 ...

  6. Vue整合SpringBoot项目实战之Vue+Element-Ui搭建前端项目

    Vue整合SpringBoot项目实战之Vue+Element-Ui搭建前端项目 源码(欢迎star): 前端项目代码 后端项目代码 系列文章: Vue整合SpringBoot项目实战之后端业务处理 ...

  7. Vue + Element-UI —— 项目实战(零)(项目概述)

    Vue + ElementUI 后台管理项目实战 内容 参考链接 一 Vue + Element-UI -- 项目实战(零)(项目概述[附源码]) 二 Vue + Element-UI -- 项目实战 ...

  8. 【首页】vue、element-ui首页界面框架

    vue.element-ui首页界面框架 截图 代码 <!DOCTYPE html> <html lang="en"> <head><me ...

  9. Vue实战快速上手-vue+ElementUI

    Vue实战快速上手-vue+ElementUI 前言 创建工程 安装依赖 使用 创建组件 配置路由 导入路由 展示 运行 问题 前言 ElementUI是饿了么的官方组件库,可以将vue和Elemen ...

最新文章

  1. 如何使用Ajax技术开发Web应用程序(2)
  2. SIMD(MMX/SSE/AVX)变量命名规范心得
  3. windows服务安装
  4. JSP的会话(Session)跟踪
  5. 使用ANY和ALL条件
  6. saslauthd mysql_启用MemCached的SASL认证
  7. 刚体运动中变换矩阵的逆
  8. 一步步教你轻松学K-means聚类算法
  9. SAP CRM Fiori应用My Note的OData调用设计
  10. shell总结(0基础入门)
  11. 第四天 Java数据类型,数据取值范围
  12. Python如何实现简单DNF脚本
  13. 中国象棋棋谱大全之一
  14. 最小二乘法曲线拟合的c++实现
  15. 51单片机:编程实现数码管显示0~999999的秒表计时,高位的0不显示。
  16. Microsoft Teams 创建Outlook邮件组的Team
  17. 推荐书、网站(大多为计算机相关)
  18. 十年风雨,一个普通程序员的成长之路(十)如果曾经……如果未来……
  19. 幻梦戏子的时光机——蓝秋
  20. 根据卡号查询所属银行

热门文章

  1. 彻底搞懂图的深度优先算法(Debug+图解+JavaDOC)
  2. 若依 分离版 组件 图片上传 预览
  3. java cplex编程--线性规划之网络负载均衡
  4. xwpfdocument 保存修改_java使用POI操作XWPFDocument 生成Word实战(一)
  5. 京东面试(日常实习生)
  6. 网站关键词排名下降的8大祸首
  7. Python 微信公众号的文章爬取
  8. 乔布斯今天辞世,苹果董事会发布声明
  9. 9 月 8 日苹果召开秋季发布会,iPhone14 公布
  10. Python turtle 绘制闹钟