Vueの基本(1)-データバインディング、イベント、イベント修飾子

データバインディング 

vueで新しいVue()を使用すると、ページ要素へのデータの双方向バインディングを実現できます。

  • Vueのelパラメーターを使用してタグのIDをバインドし、関連付けを確立します。dataパラメーターはタグがバインドする必要のあるデータを定義し、methodsパラメーターは関数のコレクションを定義します。
  • タグで{ {field}}を使用 して、データをタグにバインドします。
  • タグでv-model = "field"を使用して、データモデルへのタグの双方向バインディングを実現します。
<!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 = "関数または単純なコードロジック"を使用します。
  • イベントの停止、防止、およびその他の変更された属性を提供して、イベントのバブリングを整理し、デフォルトの動作がトリガーされないようにします。

たとえば、次のラージdivとスモールdivにはクリックイベントが設定されていますが、スモールdivクリックはラージdivにバブルし、2回トリガーします。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