vue快速复习手册

1.基本使用

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>Vue的基本使用</title>
    <!-- 01.导包 -->
    <script src="./js/vue.js"></script>
    <script>
        // 03. 监听
        window.onload = function () {
            // 04:创建vue
            var vm = new Vue({
                // 绑定操作对象
                el:'.box',
                data: {
                    content: 'Vue的基本使用'
                }
            });
        }
    </script>
</head>
<body>
    <!-- 02:div标签(设置模板变量)-->
    <div class="box">{{content}}</div>

</body>
</html>
View Code

 

2.基本语法

2.1.操作数据

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>操作数据</title>
    <script src="./js/vue.js"></script>
    <script>
        window.onload = function () {
            // uve对象
            var vm = new Vue({
                el:'.box',
                data:{
                    content:'操作数据'
                }
            });
        }
    </script>
</head>
<body>

    <div class="box">
        <p>{{content}}</p>
    </div> 
</body>
</html>
View Code

2.2.修改属性

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>02-操作数据</title>
    <script src="./js/vue.js"></script>
    <script>
        window.onload = function () {
            // uve对象
            var vm = new Vue({
                el:'.box',
                data:{
                    content:'操作数据',
                    linkdata:'百度链接',
                    url:'http://www.baidu.com'
                }
            });
        }
    </script>
</head>
<body>
    <div class="box">
        <!-- 第一种. v-bind: -->
        <!-- <a v-bind:href="url" target="_blank">{{linkdata}}</a> -->
        <!-- 第二种. : -->
        <a :href="url" target="_blank">{{linkdata}}</a>
        <p>{{content}}</p>
    </div> 
</body>
</html>
View Code

2.3.调用方法

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>操作数据</title>
    <script src="./js/vue.js"></script>
    <script>
        window.onload = function () {
            // uve对象
            var vm = new Vue({
                // 标签对象
                el:'.box',
                // 数据和属性
                data:{
                    content:'操作数据',
                    linkdata:'百度链接',
                    url:'http://www.baidu.com',
                    count:0
                },
                // 方法
                methods: {
                    fnAddClick:function () {
                        // 跨域
                       this.count += 1; 
                    }
                }

            });
        }
    </script>
</head>
<body>
    <div class="box">
        <!-- 第一种.v-on: -->
        <!-- <button v-on:click='fnAddClick'>计数器:{{count}}</button> -->
        <!-- 第二种.@ -->
        <button @click='fnAddClick'>计数器:{{count}}</button>
        <a v-bind:href="url" target="_blank">{{linkdata}}</a>
        <p>{{content}}</p>
    </div> 
</body>
</html>
View Code

小结:v-bind:简写: v-on: 简写@


 

3.条件渲染

关键字:v-if,v-else-if,v-else,v-show

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>条件渲染</title>
    <script src="./js/vue.js"></script>
    <script>
        window.onload = function () {
            var vm = new Vue({
                el:'.box',
                data:{
                    flag:4
                }
            });
        }
    </script>
</head>
<body>
    <div class="box">
        <!-- 01:v-if -->
        <!-- <p v-if='flag==1'>01:v-if</p> -->
        <!-- 02:v-else-if -->
        <!-- <p v-else-if='flag==2'>02:v-else-if</p> -->
        <!-- 03:v-else-if -->
        <!-- <p v-else-if='flag==3'>03:v-else-if</p> -->
        <!-- 04:v-else -->
        <!-- <p v-else>04:v-else</p> -->
        <!-- 05:v-show -->
        <!-- <p v-show='flag==3'>05:v-show</p> -->
    </div>
</body>
</html>
View Code

小结:

1.v-show用法和v-if大致一样,但是它不支持v-else,它和v-if的区别是,它制作元素样式的显示和隐藏,元素一直是存在的。

2.注意在vue中使用v-show, 原来的css代码不能设置display属性, 会导致冲突


 

4.列表渲染

关键字:普通列表,列表下标,有且只有一个对象,对象列表

<script>
    window.onload = function () {
    var vm = new Vue({
        el:'.box',
        data:{
            // 01: 普通列表
            itemList:[1, 2, 3, 4, 5],
            // 02: 列表下标
            indexList:['a','b','c','d'],
            // 03: 有且只有一个对象
            objData:{
                name:'小明',
                age:19
            },
            // 04: 对象列表
            objList:[
                {
                    name:'小明',
                    age:20
                },
                {
                    name:'小红',
                    age:21
                }
            ]
        }
    });
}
</script>
View Code

普通列表

<li v-for='item in itemList'>{{item}}</li>

列表下标

<li v-for='(item,index) in indexList'>角标{{index}}==数值{{item}}</li>

有且只有一个对象

<li v-for='item in objData'>{{item}}</li>
<li v-for='(obj,key) in objData'>属性值{{obj}}-----属性名{{key}}</li>

对象列表

<li v-for='obj in objList'>属性值1:{{obj.name}}==属性值2:{{obj.age}}</li>

小结:该指令适用于任何html标签


 

5.表单输入绑定(双向数据绑定)

关键字:单行文本框、多行文本框、单选框、多选框、下拉框

<!-- 01.单行文本框 -->
        <input type="text" v-model='content'>
        <p>{{content}}</p>

<!-- 02.多行文本框 -->
        <textarea v-model='content'></textarea>
        <p>{{content}}</p>

<!-- 03.单选框 -->
        <input type="radio" name="sex" value="男" v-model='content'><input type="radio" name="sex" value="女"  v-model='content'><p>{{content}}</p>

<!-- 04.多选框 -->
        <input type="checkbox" name="lk" value="吃饭" v-model='like'>吃饭
        <input type="checkbox" name="lk" value="睡觉" v-model='like'>睡觉
        <input type="checkbox" name="lk" value="打豆豆" v-model='like'>打豆豆
        <p>{{like}}</p>     

<!-- 05.下拉框 -->
        <select name="addr" v-model='address'>
            <option value="北京">北京</option>
            <option value="上海">上海</option>
            <option value="广州">广州</option>
            <option value="深圳">深圳</option>
        </select>
        <p>{{address}}</p>
View Code

小结:可以用 v-model 指令在表单<input><textarea><select> 元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素


 

6.ES6语法

关键字:语法介绍、变量声明、对象的简写、箭头函数

6.1.变量声明

let和const是新增的声明变量的开头的关键字,在这之前,变量声明是用var关键字,这两个关键字和var的区别是,它们声明的变量没有预解析,let和const的区别是,let声明的是一般变量,const申明的常量,不可修改。

var

console.log(iNum1);
// 在ES5中 声明变量使用var
var iNum1 = 10;
// 结果为:undefined, 因为使用 var 声明的变量, 有预解析

let

console.log(iNum1);
// 在ES6中 声明变量可以使用let
let iNum1 = 10;
// 查看后会发现报错:iNum1 is not defined, 因为使用let 声明的变量, 没有了预解析

const

const iNum1 = 10;
iNum1 = 20;
// 查看后会发现报错:Assignment to constant variable, 因为使用const声明的变量, 不允许重新赋值

6.2.ES6的对象的简写

ES5的写法

// ES5的对象写法
var oObj = {
    name:'小明',
    age:20,
    fnGetName: function () {
        alert(this.name);
    }
}
// 调用
oObj.fnGetName();
View Code

或者

// 创建一个空对象
var oObj = {};
// 添加属性
oObj.name = '小明';
oObj.age = 20;
// 添加方法
oObj.fnGetName = function () {
    alert(this.name);
}
// 调用
oObj.fnGetName();
View Code

ES6的写法(需要注意的是, 实现简写,有一个前提,必须变量名属性名一致)

// 定义两个变量
var name = '小明';
var age = 20;
// 创建对象
var oObj = {
    name,
    age,
    fnGetName: function () {
        alert(this.name);
    }
};
// 调用
oObj.fnGetName();
View Code

6.3.ES6的箭头函数

1.定义函数新的方式:

// 无参数无返回值
var fnTest = ()=> {
    alert('无参数无返回值');
}
// 一个参数无返回值
var fnTest = a => {
    alert(a + b);
}
// 有参数有返回值
var fnTest = (a,b)=> {
    return a + b;
}
View Code

 2.改变this的指向

如果层级比较深的时候, this的指向就变成了window, 这时候就可以通过箭头函数解决这个指向的问题

// 定义一个对象
var oObj = {
    name:'小明',
    fnAlert: function () {
        setTimeout(()=>{
            alert(this.name);
        }, 1000);
    }
}
// 调用方法
oObj.fnAlert();
View Code

 

7.Vue对象实例生命周期

  • beforeCreate
    • vm对象实例化之前
  • created
    • vm对象实例化之后
  • beforeMount
    • vm将作用标签之前
  • mounted(重要时机初始化数据使用)
    • vm将作用标签之后
  • beforeUpdate
    • 数据或者属性更新之前
  • updated
    • 数据或者属性更新之后

转载于:https://www.cnblogs.com/hwnzy/p/11012859.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值