vue基础(1)——数据绑定,事件,事件修饰符

数据绑定 

vue中使用new Vue() 的方式可以实现数据到页面元素的双向绑定。

  • 使用Vue内的el参数绑定标签的id建立关联,data参数定义标签需要绑定的数据,methods参数定义函数集合
  • 标签内使用{ {field}} 绑定数据到标签内;
  • 标签内使用 v-model="field" 可以实现标签到数据model的双向绑定;
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script src="./[email protected]@vue/dist/vue.js"></script>
<body>
    <div id="div1">
        <h1>我是{
   
   {name}},拥有{
   
   {star}}个赞</h1>
        <input type="text" v-model="star">
        <button v-on:click="star++">点击加1</button><!--绑定点击事件,简单逻辑可以直接写-->
        <button v-on:click="cancle">点击减1</button><!--绑定点击事件的函数-->
    </div>
    <script>
        let vue = new Vue({
            el: "#div1",//綁定到div元素
            data: {//定义元素中使用的数据
                name: "jhon",
                star: 1
            },
            methods: {//定义元素中使用到的函数
                cancle() {
                    if (this.star > 0) {
                        this.star--
                    } else {
                        alert("不能再减啦!")
                    }
                }
            }
        })
    </script>
</body>

</html>

事件和事件修饰符

  • 标签上使用 v-on:click="函数或简单代码逻辑" 可以实现点击事件。
  • 为事件提供了stop,prevent等修饰属性用于组织事件冒泡,阻止触发默认行为;

如下面大div和小div都设置了点击事件,但是小div点击会冒泡到大div导致触发两次,可以使用stop来阻止冒泡的发生。<a>标签点击时默认会发生跳转行为,可以使用prevent组织跳转行为的发生。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script src="./[email protected]@vue/dist/vue.js"></script>
<body>
    <div id="div1" style="border: 1px solid blue; padding: 20px;" v-on:click="alert"><!--大div点击触发alert函数-->
        大div
    <div  style="border: 1px solid red; padding: 20px;" v-on:click.stop="alert"><!--小div点击触发alert函数,阻止事件冒泡到上一级div触发第二次alert函数-->
        小div 点击后阻止冒泡到上一级div
        <a href="http://www.baidu.com" v-on:click.prevent>点击后阻止跳转百度</a><!--阻止<a>标签默认的跳转行为-->
    </div>
    </div>
    <script>
        let vue = new Vue({
            el: "#div1",//綁定到div元素
        
            methods: {//定义元素中使用到alert函数
                alert(){
                    alert("hello")
                }
            }
        })
    </script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/qq_29569183/article/details/115102061
今日推荐