<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • Vue.js 常用系統指令

    2020-2-27    seo達人

    1.v-on :可以用 v-on 指令監聽 DOM 事件,并在觸發時運行一些 JavaScript 代碼



    (1)v-on:click綁定點擊事件



    <!DOCTYPE html>

    <html>

       <head>

          <meta charset="utf-8" />

          <title>v-on:click</title>

          <script src="js/vuejs-2.5.16.js"></script>

       </head>

       <body>

          <div id="app">

             {{message}}  

             <button v-on:click="fun1('test')">vue的onclick</button>

          </div>

       </body>

       <script>

          //view model

          new Vue({

             el:'#app',

             data:{

                 message:'hello vue'

             },

             methods:{

                 fun1:function (msg) {

                   this.message=msg;

                    }

             }

          });

          

       </script>

    </html> 









    (2)v-on:keydown事件會在用戶按下一個鍵盤按鍵時發生



    <!DOCTYPE html>

    <html>

     

       <head>

          <meta charset="utf-8" />

          <title>v-on:keydown</title>

          <script src="js/vuejs-2.5.16.js"></script>

       </head>

     

       <body>

          <div id="app">

             Vue:<input type="text" v-on:keydown="fun($event)">

             <hr/>

             傳統JS:<input type="text"  οnkeydοwn="showKeyCode()"/>

          </div>

       </body>

       <script>

          //view model

          new Vue({

             el:"#app",

             methods:{

                 / $event 它是vue中的事件對象  和我們傳統js的event對象是一樣的  /

                 fun:function(event){

                        var keyCode = event.keyCode;

                        if(keyCode < 48  || keyCode > 57){

                            //不讓鍵盤的按鍵起作用

                            event.preventDefault();

                        }

                }

             }

          });

     

     

          //傳統js的鍵盤按下事件

          function showKeyCode(){

             //event對象和我們的document對象以及window對象是一樣的,可以不用定義直接使用

             var keyCode = event.keyCode;

             if(keyCode < 48  || keyCode > 57){

                //不讓鍵盤的按鍵起作用

                event.preventDefault();

             }

             // alert(keyCode);

             // if(event.keyCode == 13){

             //     alert("你按的是回車");

             // }

          }

       </script>

     

    </html>





    (3)v-on:mouseover  當鼠標指針位于元素上方時,會發生 mouseover 事件



    <!DOCTYPE html>

    <html>

     

       <head>

          <meta charset="utf-8" />

          <title>v-on:mouseover</title>

          <style>

             #div {

                background-color: red;

                width:300px;

                height:300px;

             }

          </style>

          <script src="js/vuejs-2.5.16.js"></script>

       </head>

     

       <body>

          <div id="app">

             <div @mouseover="fun1" id="div">

                <textarea @mouseover="fun2($event)">這是一個文件域</textarea>

             </div>

     

             <!--<div οnmοuseοver="divmouseover()" id="div">

                <textarea οnmοuseοver="textareamouseover()">這是一個文件域</textarea>

             </div>-->

          </div>

       </body>

       <script>

          //view model

            /*

           
    @事件名稱  就是  v-on:事件名稱的簡寫方式

            @mouseover它就等同于v-on:mouseover

             
    /

          new Vue({

             el:"#app",

             methods:{

                fun1:function(){

                    alert("鼠標懸停在div上了");

                },

                fun2:function(event){

                    alert("鼠標懸停在textarea上了");

                        event.stopPropagation();

                }

             }

          });

     

     

          //傳統的js方式

          function divmouseover(){

              alert("鼠標移動到了div上了");

          }

     

          function textareamouseover(){

              alert("鼠標移動到了textarea上了");

              event.stopPropagation();

          }

       </script>

     

    </html>





    (4).Vue.js 為 v-on 提供了事件修飾符來處理 DOM 事件細節,如:event.preventDefault() 或 event.stopPropagation()。注意:該方法將通知 Web 瀏覽器不要執行與事件關聯的默認動作(如果存在這樣的動作)



    Vue.js通過由點(.)表示的指令后綴來調用修飾符。

    .stop

    .prevent

    .capture

    .self

    .once

    <!DOCTYPE html>

    <html>

     

       <head>

          <meta charset="utf-8" />

          <title>v-on:事件修飾符</title>

          <style>

             #div {

                background-color: red;

                width:300px;

                height:300px;

             }

          </style>

          <script src="js/vuejs-2.5.16.js"></script>

       </head>

     

       <body>

          <div id="app">

             <form @submit.prevent action="http://www.itheima.com" method="post" >

                <input type="submit" value="提交">

             </form>

             <!--<form action="http://www.itheima.com" method="post" οnsubmit="return checkForm()">

                <input type="submit" value="提交">

             </form>-->

             <hr/>

             <div @mouseover="fun1" id="div">

                <textarea @mouseover.stop="fun2($event)">這是一個文件域</textarea>

             </div>

          </div>

       </body>

       <script>

          //view model

          new Vue({

             el:"#app",

             methods:{

                    fun1:function(){

                        alert("鼠標懸停在div上了");

                    },

                    fun2:function(event){

                        alert("鼠標懸停在textarea上了");

                    }

             }

          });

          

          

          //傳統js方式

          function checkForm(){

              alert(1);

              //表單驗證必須有一個明確的boolean類型返回值

             //在應用驗證方法時必須加上 return  方法名稱

             return false;

          }

       </script>

     

    </html>

     







     



    2.v-text與v-html



    <!DOCTYPE html>

    <html>

       <head>

          <meta charset="utf-8" />

          <title>v-text與v-html</title>

          <script src="js/vuejs-2.5.16.js"></script>

       </head>

       <body>

          <div id="app">

             <div v-text="message"></div>

             <div v-html="message"></div>

             <!--<div id="div1"></div>

             <div id="div2"></div>-->

          </div>

       </body>

       <script>

          //view model

          new Vue({

             el:"#app",

             data:{

                 message:"<h1>Hello Vue</h1>"

             }

          });



          //傳統js的innerText和innerHTML

          window.onload = function(){

              document.getElementById("div1").innerHTML="<h1>Hello</h1>";

                document.getElementById("div2").innerText="<h1>Hello</h1>";

          }

       </script>

    </html>





     



    (2)v-bind 插值語法不能作用在 HTML 特性上,遇到這種情況應該使用 v-bind指令



    <!DOCTYPE html>

    <html>



       <head>

          <meta charset="utf-8" />

          <title>v-bind的使用</title>

          <script src="js/vuejs-2.5.16.js"></script>

       </head>



       <body>

          <div id="app">

             <font size="5" v-bind:color="ys1">傳智播客</font>

             <font size="5" :color="ys2">黑馬程序員</font>

          </div>

       </body>

       <script>

          //view model

          //插值表達式不能用于html標簽的屬性取值

          //要想給html標簽的屬性設置變量的值,需要使用v-bind

          //v-bind也可以簡化寫法   直接使用:

          new Vue({

             el:"#app",

             data:{

                 ys1:"red",

                ys2:"green"

             }

          })

       </script>



    </html>





    (3)v-model



    <!DOCTYPE html>

    <html>

       <head>

          <meta charset="utf-8" />

          <title>v-model</title>

          <script src="js/vuejs-2.5.16.js"></script>

       </head>

       <body>

          <div id="app">

             <form action="" method="post">

                用戶名:<input type="text" name="username" v-model="user.username"><br/>

                密碼:<input type="text" name="password" v-model="user.password"><br/>

                <!-- v-model替換原來的value屬性的值,用value獲取不到-->

             </form>

          </div>

       </body>

       <script>

          //view model

          new Vue({

             el:"#app",

             data:{

                user:{

                    username:"test",

                   password:"1234"

                }

             }

          })

       </script>

    </html>





    (4)v-for



     



    <!DOCTYPE html>

    <html>

       <head>

          <meta charset="utf-8" />

          <title>v-for遍歷數組</title>

          <script src="js/vuejs-2.5.16.js"></script>

       </head>

       <body>

          <div id="app">

             <ul>

                <li v-for="(item,index) in arr ">{{item}}={{index}} </li>

                <!--index是索引的意思,用插值表達式輸出 -->

             </ul>

          </div>

       </body>

       <script>

          //view model

          new Vue({

             el:"#app",

             data:{

                 arr:[1,2,3,4,5]

             }

          })

       </script>

    </html>





     



    <!DOCTYPE html>

    <html>

       <head>

          <meta charset="utf-8" />

          <title>v-for遍歷對象</title>

          <script src="js/vuejs-2.5.16.js"></script>

       </head>

       <body>

          <div id="app">

             <ul>

                <li v-for="(key,value) in product ">{{value}}===={{key}} </li>

             </ul>

          </div>

       </body>

       <script>

          //view model

            new Vue({

                el:"#app",

                data:{

                   product:{

                       id:1,

                   name:"筆記本電腦",

                   price:5000

                }

                }

            })

       </script>

    </html>





    <!DOCTYPE html>

    <html>



       <head>

          <meta charset="utf-8" />

          <title>v-for遍歷對象</title>

          <script src="js/vuejs-2.5.16.js"></script>

       </head>



       <body>

          <div id="app">

             <table border="1">

                <tr>

                   <td>序號</td>

                   <td>編號</td>

                   <td>名稱</td>

                   <td>價格</td>

                </tr>

                <tr v-for="(product,index) in products ">

                   <td>{{index}}</td>

                   <td>{{product.id}}</td>

                   <td>{{product.name}}</td>

                   <td>{{product.price}}</td>

                </tr>

             </table>

          </div>

       </body>

       <script>

          //view model

            new Vue({

                el:"#app",

                data:{

                    products:[

                       { id:1,name:"筆記本電腦",price:5000 },

                        { id:2,name:"手機",price:3000 },

                        { id:3,name:"電視",price:4000 }

                    ]

                }

            })

       </script>



    </html>





    3.v-if與v-show



    v-if是根據表達式的值來決定是否渲染元素

    v-show是根據表達式的值來切換元素的display css屬性

     

    <!DOCTYPE html>

    <html>

       <head>

          <meta charset="utf-8" />

          <title>v-if與v-show</title>

          <script src="js/vuejs-2.5.16.js"></script>

       </head>

       <body>

          <div id="app">

             <span v-if="flag">傳智播客</span>

             <span v-show="flag">itcast</span>

             <button @click="toggle">切換</button>

          </div>

       </body>

       <script>

          //view model

          new Vue({

             el:"#app",

             data:{

                 flag:false

             },

             methods:{

                 toggle:function(){

                     this.flag = !this.flag;

                }

             }

          })

       </script>

    </html>


    日歷

    鏈接

    個人資料

    藍藍設計的小編 http://www.skdbbs.com

    存檔

    主站蜘蛛池模板: 久久99热只有频精品8| 亚洲国产精品热久久| 精品视频在线v| 日韩精品无码免费视频| 久久福利青草精品资源站| 中文字幕精品无码一区二区 | 久久国产美女免费观看精品| 国产成人精品日本亚洲专一区| 亚洲中文字幕久久精品无码APP | 人妻少妇看A偷人无码精品视频| 99精品国产福利在线观看| 成人精品视频99在线观看免费| 亚洲精品国产V片在线观看| 精品欧美一区二区在线看片| 四虎精品成人免费永久| 久久99精品国产| 国产在线精品一区二区不卡| 国产精品亚洲日韩欧美色窝窝色欲 | 国产精品H片在线播放| 国产精品久久免费| 8AV国产精品爽爽ⅴa在线观看| 久久精品国产久精国产思思| 亚洲国产精品SSS在线观看AV| 亚洲国产精品国产自在在线| 亚洲AV无码成人精品区狼人影院| 牛牛在线精品观看免费正| 久久99精品国产麻豆蜜芽| 国产精品户外野外| 国产av无码专区亚洲国产精品| 午夜精品久视频在线观看| 国产精品一国产精品| 国产精品久久国产精品99盘| 国产精品电影在线观看| 久久777国产线看观看精品| 国产高清国产精品国产专区| 51午夜精品免费视频| 国内精品免费在线观看| 四虎精品成人免费观看| 99热成人精品国产免男男| 国产乱人伦偷精品视频不卡| 久久精品国产精品亚洲艾草网美妙|