资讯详情

前端路线--Vue(day02)

01-v-on补充

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title>     <script src="js/vue.js"></script> </head>  <body>     <div id="app">         <h2>{     
       {msg}}</h2>         <!-- 在一个元素上绑定多个事件 @事件名1="fn1" @事件名2="fn2" -->         <button @click=/span>"changeMsg()" @mouseout="changeMsg2()">修改数据</button> <!-- v-on={事件名1:函数1,事件名2:函数2} --> <button v-on="{click:changeMsg,mouseout:changeMsg2}">修改数据2</button> <!-- 面试题: 在vuejs中能否给一个元素同时绑定多个事件,如果可以怎么绑定? --> <h1>我吃两口饭,马上回来!</h1> </div> </body> <script> new Vue({ 
            el: "#app", data: { 
            msg: "好谷学堂" }, methods: { 
            changeMsg() { 
            // console.log(this); //指的时new 出来的Vue实例 this.msg = "好谷二哥" }, changeMsg2() { 
            // console.log(this); //指的时new 出来的Vue实例 this.msg = "好谷学堂" } } }) </script> </html> 

02-按键修饰符

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.js"></script>
</head>

<body>
    <div id="app">
        <!-- // keydown 键盘按下 // keyup 键盘按下抬起 // keypress 按下字符键(a-z0-9) -->

        <!--常见的keycode: shift:16 ctrl:17 alt:18 回车:13 a:65 左:37 上:38 右:39 下:40 -->

        <!-- v-on:keyup.enter 等价 v-on:keyup.13 敲回车键 -->
        <input type="text" @keyup.enter="fn()" @keyup.esc="fn2()" v-model="msg">

        <!-- v-on:keyup.enter.space 按空格或者回车键都能执行 -->
        <input type="text" v-on:keyup.enter.space="fn">

    </div>
</body>
<script> new Vue({ 
           el: "#app", data: { 
           msg: "好谷学堂" }, methods: { 
           fn() { 
           console.log('fn执行了'); }, fn2() { 
           console.log('按了esc键'); this.msg = ""; //按下esc之后清除input内容 } } }) </script>

</html>

03-自定义按键修饰符别名

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.js"></script>
</head>

<body>
    <div id="app">
        <input type="text" v-model="msg" @keyup.exit="fn()">
    </div>
</body>
<script> //查看vue中的方法 console.dir(Vue); //自定义按键别名(将a键起名exit) // 在Vue中可以通过config.keyCodes自定义按键修饰符别名 Vue.config.keyCodes.exit = 65; new Vue({ 
           el: "#app", data: { 
           msg: "好谷" }, methods: { 
           fn() { 
           this.msg = "" } } }) </script>

</html>

04-v-bind

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.js"></script>
</head>

<body>
    <div id="app">
        <!-- v-bind:属性="属性值" 绑定属性的 -->
        <!-- 简写 :属性="属性值" -->
        <!-- :src=imgsrc 给图片绑定属性 -->
        <img :src="imgsrc" alt="">
    </div>
</body>
<script> new Vue({ 
           el: "#app", data: { 
           msg: "好谷学堂", imgsrc: "https://imgcps.jd.com/ling4/10031620944290/5Lqs6YCJ5aW96LSn/5L2g5YC85b6X5oul5pyJ/p-5f3a47329785549f6bc7a6f7/6e5ea9f8/cr/s/q.jpg" } }) </script>

</html>

05-v-bind动态添加样式

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.js"></script>
    <style> .red { 
           color: red; } .bggreen { 
           background-color: green; } .bgyellow { 
           background-color: yellow; } </style>
</head>

<body>
    <!-- 绑定class样式 -->
    <div id="app">
        <!-- 1.数组形式 :class=[类名1,类名2,...] -->
        <h2 :class="['red','bggreen']">你好,spideman!</h2>

        <!-- 2.对象形式 :class="{类名1:布尔值1,类名2:布尔值2}" //布尔值为true时候 使用该样式类,否则不使用 -->
        <h2 :class="{red:true,bgyellow:1>0}">我是对象形式</h2>

        <!-- 3. 数组对象(混合形式) :class=["类名",{类名:布尔值}] -->
        <h2 :class="['red',{bggreen:true}]">我是混合形式</h2>

        <!-- 4.可以写js代码 :class='["red",5>8?"bggreen":"bgyellow"]' -->
        <h2 :class='["red",5>8?"bggreen":"bgyellow"]'>我可以用js代码形式哦</h2>

        <!-- 5. styleArr data中定义的数组,数组的每一项元素是定义好的类名 -->
        <h2 :class="styleArr">我是下面定义的数组形式</h2>
        <h2 :class="styleObj">我是下面定义的对象形式</h2>
    </div>
</body>
<script> new Vue({ 
           el: "#app", data: { 
           msg: "好谷学堂", styleArr: ["red", "bgyellow"], styleObj: { 
           red: true, bggreen: 1 > 0 } } }) </script>

</html>

06-v-bind绑定style

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.js"></script>
    <style> .red { 
           color: red; } .bggreen { 
           background: green; } .bgyellow { 
           background: yellow; } </style>
</head>

<body>
    <!--绑定style样式-->
    <div id="app">
        <!-- 1.对象形式 -->
        <h2 :style="{color:'red',fontSize:'50px'}">{
    
       {msg}}</h2>
        <!-- 2.data中对象形式 -->
        <h2 :style="styleObj">我是data中对象形式</h2>
        <!-- 3.data中数组对象形式 -->
        <h2 :style="[styleObj,styleObj2]">我是数组对象形式</h2>
    </div>
</body>
<script> new Vue({ 
           el: "#app", data: { 
           msg: "好谷学堂", styleObj: { 
           color: 'yellow', background: 'pink' }, styleObj2: { 
           'font-size': '60px' } } }) </script>

</html>

07-v-if

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.js"></script>
    <style> .box { 
           width: 100px; height: 100px; background-color: aqua; } </style>
</head>

<body>
    <!-- v-if 可以控制元素的显示或者隐藏, 条件为true时渲染对应的DOM元素, 如果条件为false,那么不会渲染DOM元素 v-else 是配合v-if一起使用的,不能单独使用 v-if的条件为真时,v-else不执行 否则执行v-else -->
    <div id="app">
        <h2 v-if="flag">{
    
       {msg}}</h2>
        <div class="box" v-else>else</div>
        <button @click="showHideBtn()">显示或者隐藏</button>

        <!-- v-else-if -->
        <h2>num的值是{
    
       {num}}</h2>
        <div v-if="num>80">优秀</div>
        <div v-else-if="num>70">良好</div>
        <div v-else>差劲</div>

        <!-- 数字的++或者--可以直接写在行内 -->
        
        标签: 彩显c20连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台