Vue03_Vue基本指令2/3——显示切换、属性绑定(v-show_if_bind)

一、v-show
  • 根据表达式的真假,切换元素的显示和隐藏
<body>
    <div id="app">
        <img src="../pictures/A-girl.jpg" alt="test" v-show="isShow">
        <input type="button" value="改变布尔值" @click=changeTrue>
        <img src="../pictures/A-boy.jpg" alt="test" v-show="age > 18">
        <input type="button" value="年龄-1,当前19" @click=changeAge>
    </div>

<script>
    var app = new Vue({
        el:"#app",
        data:{
            isShow:true,
            age:19,
        },
        methods:{
            changeTrue:function(){
                this.isShow = !this.isShow;
            },
            changeAge:function(){
                this.age--;
            },
        }
    })
</script>
</body>
二、v-if
  • 根据表达式真假,切换元素的显示与隐藏(直接操纵DOM元素)
  • 使用与v-show类似,区别:
    • v-show实际上是将元素的display:none,
    • v-if则是直接将元素从DOM树中移除;
    • 频繁切换某节点,使⽤v-show(切换开销⽐较⼩,初始开销较⼤),
    • 不需要频繁切换某节点使⽤v-if(初始渲染开销较⼩,切换开销⽐较⼤);
三、v-bind
  • 作用、为元素绑定属性
  • 写法、v-bind: 属性名,简写 : 属性名
    例:
<body>
    <div id="app">
        <img :src="imgSrc" alt="test" :title="imgTitle">
        <img :src="imgSrc" alt="test" :title="imgTitle">
    </div>
<script>
    var app = new Vue({
        el:"#app",
        data:{
            imgSrc: "http://gmis.aust.edu.cn/pyxx/images/loginlogo.png",
            imgTitle: "我是tiltle",
        },
        methods:{
            
        }
    })
</script>
</body>
  • 也可绑定元素的class(常用在active)
    例:
<body>
    <div id="app">
        <img :src="imgSrc" alt="test" :title="imgTitle"
        :class="isActive?'active':''" @click="toggleActive">
        <!-- 上面使用三元表达式,下面为对象的形式 -->
        <img :src="imgSrc" alt="test" :title="imgTitle"
        :class="{active:isActive}" @click="toggleActive">
    </div>
<script>
    var app = new Vue({
        el:"#app",
        data:{
            imgSrc: "http://gmis.aust.edu.cn/pyxx/images/loginlogo.png",
            imgTitle: "我是tiltle",
            isActive:false,
        },
        methods:{
            toggleActive:function(){
                this.isActive = !this.isActive;
            }
        }
    })
</script>
</body>

效果:
Vue03_Vue基本指令2/3——显示切换、属性绑定(v-show_if_bind)

四、实现图片轮播且上下键符合逻辑
<body>
    <div id="app">
        <img :src="imgArr[index]" alt="test">
        <input type="button" value="上一张" @click="prv" v-show="index!=0">
        <input type="button" value="下一张" @click="next" v-show="index<2">
    </div>

    <script>
        var app = new Vue({
            el: "#app",
            data: {
                index: 0,
                imgArr: ["../pictures/loginlogo.png", "../pictures/A-boy.jpg", "../pictures/A-girl.jpg"]
            },
            methods: {
                prv: function () {
                    this.index--;
                },
                next: function () {
                    this.index++;
                }
            }
        })
    </script>
</body>

效果:
Vue03_Vue基本指令2/3——显示切换、属性绑定(v-show_if_bind)

上一篇:前端成神之路-vue03


下一篇:vue03侦查器,计算属性,过滤器和过滤动画