IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Vue、ElementUI -> 正文阅读

[JavaScript知识库]Vue、ElementUI

1.什么是MVVM?

MVVM是Model-View-ViewModel的简写,将View中的状态和行为抽象化.

ViewModel在取出Model的数据同时帮忙处理View中由于需要展示内容而涉及的

业务逻辑.

2.什么是VUE?

Vue就是一套用于构建用户界面的渐进式框架,与其他框架不同的是,Vue被设计为可以自底向上逐渐应用.Vue的核心库只关注图层,不仅容易上手,还便于与第三方库或既有项目整合.

3.Vue的优点

  • 体积小

  • 高效率

  • 双向数据绑定,简化Dom操作

  • 生态丰富,学习成本低

4.第一个Vue程序

  1. 导入开发版本的Vue.js

  2. 创建Vue实例对象,设置el属性和data属性

  3. 使用简洁的模板语法把数据渲染到页面上

<div id="app">{{message}}<div/>
var app=new Vue({
el:"#app",
data:{
message:"Hello Vue!"
}
})

代码解析:

{{变量}}模板语法,插值表达式获取数据

new Vue();创建一个Vue对象(VM对象)

el:数据挂载的dom对象

  • Vue会管理el选项命中的元素及其内部的后代元素

  • 可以使用其他的选择器,但是建议使用ID选择器

  • 可以使用其他的闭合标签,不能使用HTML和BODY

data:{message:"hello world"} model数据

  • Vue中用到的数据定义在data中

  • data中可以写复杂类型的数据,如对象,数组

5.Vue指令

v-text作用是设置标签的文本内容,默认写法会替换全部内容,使用差值表达式可以提高指定内容<p v-text="message+1">恸情</p> <p>{{message+1}}恸情</p>
v-html作用是设置元素的innerHTML,内容中有html结构会被解析为标签<p v-html="message+1">非凡英才</p>
v-on作用是元素绑定事件,事件名不需要写on指令可以写成@,绑定的方法定义在methods属性中,可以传入自定义参数<input type="button" value="按钮" v-on:click="test(1,2)" /> <input type="button" value="按钮" @click="test" /> methods:{ test(a,b){ alert(a); } }
v-model作用的便捷的设置和获取表单元素的值,绑定的数据会和表单的数据值相关联,绑定的数据<--->表单元素的值 双向的数据绑定<input type="text" v-model="message"/> <p>{{message}}</p> data:{ message:"" }
v- show作用是根据真假切换元素的显示状态,原理是修改元素的display,实现显示隐藏指令后面的内容,最终都会解释为布尔值为true元素显示,值为false元素隐藏,数据改变之后,对应元素的显示状态会同步更新data:{ isShow:true, age:20 }
v-if作用是根据表达式的真假切换元素的显示状态,本质通过操作dom元素来切换,显示状态表达式的值为true,元素存在于dom中,为false,从dom中移出.
v-bind作用是为元素绑定数据属性,完整写法是v-bind:属性名(:属性名)<img v-bind:src="imgSrc" /> <img :src="imgSrc" /> <img :title="imgTitle" :src="imgSrc" /> data:{ imgSrc:'img/3.jpg' imgTitle:"这是一张图片" }
v-for作用是根据数据生成列表结构,数据经常和v-for结合,使用语法是(item,index)in 数据,item和index可以结合其他指令一起使用,数据长度的更新会同步到页面上是响应式的,为循环绑定一个key值,尽可能唯一<li v-for="item in array"> {{item}}省 </li> <li v-for="(item,index) in array"> {{index+1}}{{item}}省 </li> <li v-for="(item,index) in objects"> {{index+1}}{{item.name}}{{item.age}} </li> data:{ array:['陕西','山西','河南'], objects:[ {name:'admin',age:23}, {name:'jim',age:22} ] }

6.Vue实例生命周期

每个Vue实例在被创建时都要经过一系列的初始化过程,例如,需要设置数据监听、编译模板,将实例挂载到DOM并在数据变化时更新DOM等,同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会

beforeCreate: function () {
console.log('beforeCreatea ’);
},
created: function () {
console.log('createda ' );
},
beforeMount:function(){
console.log('beforeMounta’);
},
mounted:function(){
console.log('mounteda’);
}

7.vue-cli搭建项目

vue-cli官方提供的一个脚手架,用于快速生成一个vue的项目模板;预先定义好的目录结构及基础代码,就好比咱们在创建一个Maven项目时可以选择一个创建一个骨架结构,这个骨架结构就是脚手架,我们的开发更加的快速;

1.主要功能

  • 统一的目录结构

  • 本地调试

  • 热部署

  • 单元测试

  • 集成打包上线

2.需要的环境

Node.js:简单的说Node.js就是运行在服务端的JavaScript。如果熟悉JavaScript,那么你将会很容易的学会Node.js。

Node.js是一个基于Chrome JavaScript运行时建立的一个平台。

Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行的JavaScript的速度非常快,性能非常好。

3.npm

npm是Node.js的包管理工具,用来安装各种Node.js的扩展。npm是JavaScript的包管理工具,也是世界上最大的软件注册表。有超过60万个JavaScript代码包可供下载,每周下载月30亿次。npm让JavaScript开发人员可以轻松地使用其他开发人员共享的代码。

1.组件路由

vue router是Vue.js官方的路由管理器。它和Vue.js的核心深度集成,让构建单页面应用变得易如反掌。

1.安装

vue-router是一个插件包,所以我们还是需要用npm来进行安装。

打开命令行工具,进行你的项目目录,输入下面命令。

npm i vue-router@3.5.3

搭建步骤:
1. 创建 router 目录
创建 index.js 文件,在其中配置路由
import Vue from 'vue';
import router from 'vue-router';
/* 导入路由 */
import login from '../views/login';
/* 导入其他组件 */
import content from '../components/content';
/* 导入其他组件 */
Vue.use(router)
/* 定义组件路由 */
var rout = new router({
routes: [
{
path: '/index',
name: 'index',
component: index
},
{
path: '/content',
component: content
}
]
});
//导出路由对象
export default rout;

2.使用路由

<router-link to="/index">首页</router-link>
<router-link to="/content">内容</router-link>
<router-view/>

3.在main.js中配置路由

import router from './router/index.js'
Vue.use(router);
new Vue({
el: '#app',
router,
render: h => h(App)
})

4.路由导航守卫

为路由对象,添加 beforeBach 导航守卫
to-将要访问的页面地址,from-从哪个页面访问的,next-放行函数
rout.beforeEach((to,from,next)=>{
if(to.path=='/login'){如果用户访问的登录页,直接放行
return next();
}else{
var token = window.sessionStorage.getItem("token");
if(token==null){
return next("/login");
}else{
next();
}
}
})

5.路由嵌套

{
path: '/main',
component: Main, //路由嵌套 在 main 下面的嵌套子路由
children:[
{
path:"/admin",
component:Admin
}
]

6.路由传参

<router-link :to="{path:'/User',query:{num:id,name:'jim'}}">
用户
</router-link>
目标组件获取地址参数
this.$route.query.num

8.ElementUI

Element,一套为开发者、设计师和产品经理准备的基于Vue 2.0的桌面端组件库。

安装ElementUI:npm i element-ui-S

 
在 main.js 中写入以下内容:
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
new Vue({
render: h => h(App),
}).$mount('#app');
1.网络请求

axios是 一个HTTP的网络请求库。

安装 npm install axios

在 main.js 中配置 axios
导入 axios
import axios from 'axios';
设置访问后台服务器地址
axios.defaults.baseURL="http://127.0.0.1:9999/api/";
将 axios 挂载到 vue 全局对象中,使用 this 可以直接访问
Vue.prototype.$http=axios;

使用get或post方法即可发送对应的请求

then方法中的回调函数会在请求成功或者失败时触发

通过回调函数的形参可以获取响应的内容,或错误信息

基本语法

this.$http.get(地址?Key=value&key2=val1).then(function(response){ }
this.$http.post("login",{key:"value",key2:"val2"}).then(function(response){ }
axios 的常用 API
get:查询数据
post 添加数据
put:修改数据
delete:删除数据
axios 的响应结果
响应结果的主要属性
data:实际响应回来的数据
headers:响应头信息
status:响应状态码
statusText:响应状态信息
//axios 请求拦截
axios.interceptors.request.use(config =>{
//为请求头对象,添加 Token 验证的 token 字段
config.headers.token = window.sessionStorage.getItem('token');
return config;
})
// 添加响应拦截器
axios.interceptors.response.use((resp) =>{//正常响应拦截
if(resp.data.code==500){
ElementUI.Message({message:resp.data.message,type:"error"})
}
if(resp.data==201){
router.replace("/login");
}
return resp;
});

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-10-08 20:32:10  更:2022-10-08 20:36:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 15:05:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码