1、 创建vue实例
<script>
var vm=new Vue({
//选项
})
</script>
1.引入vue.js
2.定义一个div
3.实例化vue
4.将数据显示到界面上
//下面是代码
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<script src="./js/vue.js">script>
head>
<body>
<div id="app">
{
{name}}
<p>
{
{name}}
p>
div>
<script>
var vm = new Vue({
el:'#app',//el选项 通过el将VM与div绑定,接收的是字符串
//通过el将vue实例与div进行绑定,绑定之后,vue就可以操作div及其子元素,并且数据也可以显示在div内部。
data:{
name:'vue实例绑定成功'//data数据
}
});
script>
body>
html>
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<script src="./js/vue.js">script>
head>
<body>
<div id="app">
<p>{
{name}}p>
div>
<script>
var vm=new Vue({
el:'#app',
data:{
name:"定义初始数据"
}
});
console.log(vm.$data.name)
console.log(vm.name)//同第一类写法,第一类更繁琐
script>
body>
html>
4、methods定义方法
在methods选项中定义showInfo()方法,实现页面内容的更新:
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<script src="./js/vue.js">script>
head>
<body>
<div id="app">
<button @click="showInfo">请单击button>
<p>{
{msg}}p>
div>
<script>
var vm=new Vue({
el:'#app',
data:{
// msg:''
msg:'原始值'
},
methods:{
showInfo(){
//this.msg='单击触发事件'
this.msg='点击之后的内容'
}
}
})
script>
body>
html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./js/vue.js"></script>
</head>
<body>
<div id="app">
<p>总价格:{
{
totalPrice}}</p>
<p>单价:{
{
price}}</p>
<p>数量:{
{
num}}</p>
<div>
<button @click="num==0?0:num--">
减少数量
</button>
/**
**/
<button @click="logTotalPrice">
打印总价格
</button>
</div>
</div>
<script>
var vm=new Vue({
el:'#app',
data:{
price:20,
num:0
},
computed:{
totalPrice(){
return this.price*this.num;
}//计算属性一般返回结果,num改变,totalprice随之改变
},methods:{
logTotalPrice(){
console.log('totalPrice的结果'+this.totalPrice);//计算属性,所以无()
}
});
</script>
</body>
</html>
6、watch状态监听
用来监测vue实例中的数据变动。
7、filters过滤器
对数据进行格式化。
☆|:管道符号
使用过滤器:
①插值表达式使用:{ {data属性名 | 过滤器名称}}
②属性绑定使用:v-bind:id=‘data属性名|过滤器名称’
filters:{
toUppercase(value){
//方法
return value?value.toUpperCase():' ';
}
}
1、样式绑定
1、事件监听
2、事件修饰符
.prevent:HTML标签具有自身特性,可以使用.prevent修饰符来阻止标签的默认行为。
.once:只触发一次事件处理函数。
Vue.component('参数1:组件名称',{
参数2:配置对象
data(){
}//定义组件可使用的数据
template//组件的模板,定义组件的界面
})
components:{
//key:组件名,驼峰命名法
//value:组件的配置对象
}
3、template模板:
4、组件之间的数据传递:
props:规定组件可以通过哪些属性传递数据。
$emit:调用自定义的事件,然后传递数据。
2、实例创建
钩子函数beforeCreate和created
3、页面挂载
beforeMount和mounted:在实例创建后,如果挂载点el存在,就进行页面挂载。
4、数据更新
beforeUpdate和updated:vue实力挂载完成后,当数据发生变化时,会执行beforeUpdate和pudated钩子函数。
5、实例销毁
beforeDestroy和destroyed:生命周期函数最后阶段是实例的销毁,会执行beforeDestroy和destroyed钩子函数。
$refs:一个小细节,具体看这