Vue2框架
VUE
快速入门
基于vue.js框架来编写项目需要以下几个步骤:
- 引入 Vue.js文件
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<!-- 生产环境版本,优化文件大小和响应速度 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
<!-- 当然,也可以将文件下载下来再通过本地导入-->
- 创建Vue核心对象,进行数据绑定
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- 1.引入vue.js文件 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<!-- 2.指定区域,该区域的内容希望由vue.js来接管。 -->
<div id="app">
<h1>欢迎学习Vue.js</h1>
<div>我叫{{name}},微信{{wechat}}</div>
<input type="button" value="点我" v-on:click="clickMe">
</div>
<script>
// 3.创建Vue对象,并关联指定HTML区域。
var app = new Vue({
el: '#app',
data: {
name: 'admin',
wechat: 'admin666'
},
methods: {
clickMe: function () {
// 获取值this.name
// 修改值this.name = "xx"
this.name = "root";
this.wechat = "root666";
}
}
})
</script>
</body>
</html>
Vue 指令
插值表达式
一般在显示文本内容的标签中使用。
<div id="app">
<div>我叫{{name}},邮箱:{{dataInfo.email}}</div>
<ul>
<li>{{'root'}}</li>
<li>{{'root' + "123"}}</li>
<li>{{ 1===1 ?"admin":"root"}}</li>
</ul>
<span v-html="rawHtml"></span>
</div>
<script>
var app = new Vue({
el: '#app',
data: {
name: 'admin',
dataInfo: {
id: 1,
email: "xxx.com"
},
rawHtml:"<a href="#">百度一下</a>"
}
})
// {{ }}和v-text的作用是一样的都是插入值直接渲染 innerText
// v-htmL既能插入值又能插入标签 innerHTML
</script>
v-bind指令
一般用于对标签中的属性进行操作。
<a v-bind:href="url">百度一下</a>
<a :href="url">百度一下</a>
<script>
new Vue({
el:"#app",
data:{
url:"https://www.baidu.com"
}
});
</script>
v-model指令
般用于在交互的表中中使用,例如:input、select、textarea等。【双向绑定】
<div id="app">
<a v-bind:href="url">点击一下</a>
<a :href="url">点击一下</a>
<input v-model="url">
</div>
<script>
new Vue({
el:"#app",
data:{
username:"",
url:"https://www.baidu.com"
}
});
</script>
v-on指令
<input type="button" value="一个按钮" v-on:click="show()">
<input type="button" value="一个按钮" @click="show()">
<script>
new Vue({
el: "#app",
methods: {
show(){
alert("我被点了");
}
}
});
</script>
v-for指令
<div id="app">
<div v-for="addr in addrs">
{{addr}} <br>
</div>
<hr>
<div v-for="(addr,i) in addrs">
{{i+1}}--{{addr}} <br>
</div>
</div>
<script src="js/vue.js"></script>
<script>
new Vue({
el:"#app",
data:{
addrs:["北京","上海","西安"]
}
});
</script>
v-if指令
条件判断。
<div id="app">
<div v-if="count == 3">div1</div>
<div v-else-if="count == 4">div2</div>
<div v-else>div3</div>
<hr>
<input v-model="count">
</div>
<script src="js/vue.js"></script>
<script>
//1. 创建Vue核心对象
new Vue({
el:"#app",
data:{
count:3
}
});
</script>
v-show指令
根据条件显示或隐藏(标签都会渲染到页面)。
<div id="app">
<h1 v-show="v1">可可西里</h1>
<h1 v-show="!v1">罗布泊</h1>
</div>
<script>
var app = new Vue({
el: '#app',
data: {
v1: false,
}
})
</script>
`v-show` 不展示的原理是给对应的标签添加 `display` css属性,并将该属性值设置为 `none` ,这样就达到了隐藏的效果。而 `v-if` 指令是条件不满足时根本就不会渲染。
生命周期
生命周期的八个阶段:每触发一个生命周期事件,会自动执行一个生命周期方法,这些生命周期方法也被称为钩子方法。

下图是 Vue 官网提供的从创建 Vue 到效果 Vue 对象的整个过程及各个阶段对应的钩子函数

ElementUI
快速入门
- 将资源
element-ui文件夹直接拷贝到项目的webapp下。目录结构如下

- 创建页面,并在页面引入Element 的css、js文件 和 Vue.js
<script src="vue.js"></script>
<script src="element-ui/lib/index.js"></script>
<link rel="stylesheet" href="element-ui/lib/theme-chalk/index.css">
- Element 是基于 Vue 的,所以使用Element时必须要创建 Vue 对象
new Vue({
el:"#app"
})
Element 布局
Element 提供了两种布局方式,分别是:
* Layout 布局
* Container 布局容器
- Layout 局部
通过基础的 24 分栏,迅速简便地创建布局。也就是默认将一行分为 24 栏,根据页面要求给每一列设置所占的栏数。

- Container 布局容器
用于布局的容器组件,方便快速搭建页面的基本结构

脚手架
脚手架(vue cli - Vue Command Line Interface )是一个基于 Vue.js 进行快速开发的完整系统

基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定
浙公网安备 33010602011771号