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

    2020-2-27    seo達(dá)人

    1.v-on :可以用 v-on 指令監(jiān)聽 DOM 事件,并在觸發(fā)時(shí)運(yùn)行一些 JavaScript 代碼



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



    <!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事件會(huì)在用戶按下一個(gè)鍵盤按鍵時(shí)發(fā)生



    <!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/>

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

          </div>

       </body>

       <script>

          //view model

          new Vue({

             el:"#app",

             methods:{

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

                 fun:function(event){

                        var keyCode = event.keyCode;

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

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

                            event.preventDefault();

                        }

                }

             }

          });

     

     

          //傳統(tǒng)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  當(dāng)鼠標(biāo)指針位于元素上方時(shí),會(huì)發(fā)生 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)">這是一個(gè)文件域</textarea>

             </div>

     

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

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

             </div>-->

          </div>

       </body>

       <script>

          //view model

            /*

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

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

             
    /

          new Vue({

             el:"#app",

             methods:{

                fun1:function(){

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

                },

                fun2:function(event){

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

                        event.stopPropagation();

                }

             }

          });

     

     

          //傳統(tǒng)的js方式

          function divmouseover(){

              alert("鼠標(biāo)移動(dòng)到了div上了");

          }

     

          function textareamouseover(){

              alert("鼠標(biāo)移動(dòng)到了textarea上了");

              event.stopPropagation();

          }

       </script>

     

    </html>





    (4).Vue.js 為 v-on 提供了事件修飾符來處理 DOM 事件細(xì)節(jié),如:event.preventDefault() 或 event.stopPropagation()。注意:該方法將通知 Web 瀏覽器不要執(zhí)行與事件關(guān)聯(lián)的默認(rèn)動(dòng)作(如果存在這樣的動(dòng)作)



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

    .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)">這是一個(gè)文件域</textarea>

             </div>

          </div>

       </body>

       <script>

          //view model

          new Vue({

             el:"#app",

             methods:{

                    fun1:function(){

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

                    },

                    fun2:function(event){

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

                    }

             }

          });

          

          

          //傳統(tǒng)js方式

          function checkForm(){

              alert(1);

              //表單驗(yàn)證必須有一個(gè)明確的boolean類型返回值

             //在應(yīng)用驗(yàn)證方法時(shí)必須加上 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>"

             }

          });



          //傳統(tǒng)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 特性上,遇到這種情況應(yīng)該使用 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

          //插值表達(dá)式不能用于html標(biāo)簽的屬性取值

          //要想給html標(biāo)簽的屬性設(shè)置變量的值,需要使用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遍歷數(shù)組</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是索引的意思,用插值表達(dá)式輸出 -->

             </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>序號(hào)</td>

                   <td>編號(hào)</td>

                   <td>名稱</td>

                   <td>價(jià)格</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:"手機(jī)",price:3000 },

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

                    ]

                }

            })

       </script>



    </html>





    3.v-if與v-show



    v-if是根據(jù)表達(dá)式的值來決定是否渲染元素

    v-show是根據(jù)表達(dá)式的值來切換元素的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>


    日歷

    鏈接

    個(gè)人資料

    存檔

    主站蜘蛛池模板: 四虎永久在线精品国产馆V视影院| 无码日韩精品一区二区三区免费| 亚洲欧洲久久久精品| 国产精品免费视频观看拍拍| 最新国产の精品合集| 在线精品国产一区二区| 无码国产精品一区二区免费vr| 精品久久久久久99人妻| 亚洲AV日韩精品一区二区三区| 最新国产精品拍自在线播放| 午夜天堂精品久久久久| 国内精品国产成人国产三级| 亚洲国产精品成人久久蜜臀 | jizz国产精品| 精品无人区无码乱码大片国产| 国产伦精品一区二区三区女| 青青草国产精品| 久久久不卡国产精品一区二区 | 精品无码一区二区三区爱欲九九| 2020国产精品| 国产精品自在线拍国产手机版| 亚洲国产精品无码久久久蜜芽 | 中文字幕久久精品| 亚洲国产精品无码久久青草| 久久久久成人精品无码| 国产精品原创巨作?v网站| 91精品国产自产在线老师啪| 四虎成人www国产精品| 看99视频日韩精品| 国产亚洲精品资在线| 国产精品99久久久久久猫咪| 四虎永久在线精品国产免费 | 久久青青草原精品国产软件| 精品国产AⅤ一区二区三区4区| 国产精品一级AV在线播放| 国产精品欧美亚洲韩国日本久久| 99久久精品国产一区二区三区| 国产VA免费精品高清在线| 国产综合精品久久亚洲 | 国产精品亚洲日韩欧美色窝窝色欲| 亚洲国产精品国自产电影|