Vue3.0学习笔记-条件判断

条件判断

三元运算符 this.message = this.message == 'Hello world' ? 'Good Bye' : 'Hello world';

v-if

v-else 注意else只与最近的v-if相关

v-show 与v-if的区别是v-show通过css的display:none控制DOM是否显示,页面无需再次渲染;但不能用v-else共用

 

data(){
    return{
        show:true,
    }
},

template:`<h2 v-show="show">v-show使用</h2>`

<h2 style="display: none;">v-show使用</h2>
Demo11.html

<!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>Hello World</title>
    <script src="https://unpkg.com/vue@next"></script>
</head>
<style>
    .one {
        color: red;
    }
    
    .two {
        color: green;
    }
    
    .three {
        color: orange;
    }
</style>
<body>
    <div id="app"></div>
</body>
<script>
    const app = Vue.createApp({
        data() {
            return {
                message: 'Hello world'
            }
        },
        methods: {
            messageBtnClick() {
                this.message = this.message == 'Hello world' ? 'Good Bye' : 'Hello world';
            },
            startBtnClick() {
                this.message = 'Gogogo';
            }
        },
        template: `<h1 :class="message=='Hello world'?'one':'two'" @click="messageBtnClick">{{message}}</h1>
        <br>
        <h2 class="one" v-if="message=='Hello world'" @click="messageBtnClick">{{message}}</h2>
        <h2 class="two" v-if="message=='Good Bye'" @click="messageBtnClick">{{message}}</h2>
        <h2 class="three" v-if="message=='Gogogo'" @click="messageBtnClick">{{message}}</h2>
        <br>
        <h3 class="one" v-if="message=='Hello world'" @click="messageBtnClick">{{message}}</h3>
        <h3 class="two" v-if="message=='Good Bye'" @click="messageBtnClick">{{message}}</h3>
        <h3 class="three" v-else @click="messageBtnClick">{{message + "  注意else只与最近的v-if相关"}}</h3>
        <br>
        <button @click='startBtnClick'>Gogogo</button>
        `
    });
    const vm = app.mount("#app");
</script>
</html>

 

Vue3.0中的组件高级功能包括保持动态组件状态和引用DOM元素。 保持动态组件状态的方法是使用Vue内置的<keep-alive>组件。通过将动态组件包裹在<keep-alive>标签中,可以在切换动态组件时保持组件的状态。例如: ```html <keep-alive> <component :is="comName"></component> </keep-alive> ``` 在这个例子中,comName是一个data属性,用于指定当前要渲染的组件的名称。通过在<component>标签中使用:is属性,可以动态地指定要渲染的组件。 引用DOM元素的方法是使用ref属性。通过给DOM元素添加ref属性,可以在组件中通过$refs属性获取对DOM元素的引用。例如: ```html <template> <h3>MyRef组件</h3> <button @click="getRef">获取$refs引用</button> </template> <script> export default { methods: { getRef() { console.log(this.$refs) // $refs指向一个空对象,需要在DOM元素上添加ref属性 } } } </script> ``` 在这个例子中,点击按钮后,调用getRef方法可以在控制台上输出当前组件实例对象this。通过this.$refs可以访问到DOM元素的引用。 以上就是Vue3.0中组件高级功能的两个示例,分别是保持动态组件状态和引用DOM元素。希望能对你有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Vue3.0----组件高级【下】(第五章)](https://blog.csdn.net/QQ675396947/article/details/127486948)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值