【前端】VUE2初学(1)

68 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第19天,点击查看活动详情 >> 1.vue的判断循环

v-if: 用来控制页面元素是否展示底层控制是DOM元素 操作DOM

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

</head>
<body>
<div id="app">
    <h1 v-if="ok">yes</h1>
    <h1 v-else>no</h1>
</div>
<script>
    let vue = new Vue({
        el:"#app",
        data:{
            ok: true
        }
    });
</script>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

</head>
<body>
<div id="app">
    <li v-for="item in items">
        {{item.message}}
    </li>
</div>
<script>
    let vue = new Vue({
        el:"#app",
        data:{
            items:[
                {message:"java"},
                {message:"java1"},
                {message:"java2"},
                {message:"java3"}
                ]
        }
    });
</script>
</body>
</html>

2.绑定事件

v-on

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head><!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

</head>
<body>
<div id="app">
    <button v-on:click="sayHi">点我</button>
</div>
<script>
    let vue = new Vue({
        el:"#app",
        data:{
            message:"haipeng"
        },
        methods:{//方法必须在vue的methods中
            sayHi:function (event){
                alert(this.message);
            }
        }
    });
</script>
</body>
</html>
<body>

</body>
</html>

总结:

	事件  事件源:发生事件dom元素  事件: 发生特定的动作  click....  监听器  发生特定动作之后的事件处理程序 通常是js中函数
	1.在vue中绑定事件是通过v-on指令来完成的 v-on:事件名 如  v-on:click
	2.在v-on:事件名的赋值语句中是当前时间触发调用的函数名
	3.在vue中事件的函数统一定义在Vue实例的methods属性中
	4.在vue定义的事件中this指的就是当前的Vue实例,日后可以在事件中通过使用this获取Vue实例中相关数据
	简化写法为日后在vue中绑定事件时可以通过@符号形式 简化  v-on 的事件绑定

v-show:用来控制页面中某个标签元素是否展示 底层使用控制是 display 属性

v-bind: 用来绑定标签的属性从而通过vue动态修改标签的属性

3.vue的七个属性

  • el属性
    • 用来指示vue编译器从什么地方开始解析 vue的语法,可以说是一个占位符。
  • data属性
    • 用来组织从view中抽象出来的属性,可以说将视图的数据抽象出来存放在data中。
  • template属性
    • 用来设置模板,会替换页面元素,包括占位符。
  • methods属性
    • 放置页面中的业务逻辑,js方法一般都放置在methods中
  • render属性
    • 创建真正的Virtual Dom
  • computed属性
    • 用来计算
  • watch属性
    • watch:function(new,old){}
    • 监听data中数据的变化
    • 两个参数,一个返回新值,一个返回旧值,

4.双向数据绑定

v-model: 作用用来绑定标签元素的值与vue实例对象中data数据保持一致,从而实现双向的数据绑定机制

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head><!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

</head>
<body>
<div id="app">
    输入文本:<input type="text" v-model="message">{{message}}
</div>
<script>
    let vue = new Vue({
        el:"#app",
        data:{
           message:""
        },
        methods:{
            }

    });
</script>
</body>
</html>
<body>

</body>
</html>

总结

	1.使用v-model指令可以实现数据的双向绑定 
	2.所谓双向绑定 表单中数据变化导致vue实例data数据变化   v5.vue组件(数组遍历)