如何用Vue实现选项卡效果以及Vue知识点

<div id="app">
			<h1>选项卡</h1>
			<button @click="num=1" :class="num==1?active:">Vue</button>
			<button @click="num=2" :class="num==2?active:">React</button>
			<button @click="num=3" :class="num==3?active:">angular</button>
			<div class="block" v-if="num==1">
				Vue的文章列表
			</div>
			<div class="block" v-if="num==2">
				React的文章列表
			</div>
			<div class="block" v-if="num==3">
				angular的文章列表
			</div>
		</div>
		<script src="./js/vue.js"></script>
		<script>
			new Vue({
				el: "#app",
				data: {
					num: 1
				}
			})
		</script>

css代码如下所示

<style>
			.block {
				width: 400px;
				height: 400px;
				border: 1px solid pink;
			}

			.active {
				color: pink;
				font-weight: 700;
			}
</style>

此效果的实现主要利用了v-on v-if实现选项卡的切换 以及:class实现点击之后颜色的改变


写在中间 引入Vue的相关知识点

1.什么是Vue?

概念:Vue是渐进式 JavaScript框架,用于构建用户界面的渐进式框架。

Vue的创始人是尤雨溪,2014年Vue.js发布→2016年Vue2.x发布⭐→2022年Vue3.x发布。

虽然现在Vue3已经发布,但是还是要把Vue2学会,Vue2是很重要的,建议学完Vue2再学Vue3。

vue的官网

2.如何使用Vue

有两种方式 :1.直接引用script 2.安装脚手架

导入与实例化

1. 模板:

<div id="app">
     <h1>{
         
  {msg}}</h1>
</div>

2. 引入:<script src="./js/vue.js"></script>

3.实例化⭐:❗❗❗Vue 首字母大写

new Vue({  
            el: "#app", //指定模板返回(element)
            data: {
               msg: "你好vue"
                   }, //指定数据
        })

3.Vue模板语法

指令: 指令是带有 v- 前缀的特殊 attribute,指令的属性值预期是单个 JavaScript 表达式。

作用:指令是联系模板与vue实例的桥梁,如下图

特点:可以渲染实例的值 v-text="msg"

数学运算 var-text="msg.length"

使用js表达式 v-text="msg.length"

如果是文本需要加单引号 v-text=" 我在中国,+‘msg"

1.文本渲染指令

    { {}} v-text文本渲染指令 v-html html文本渲染指令

2.条件渲染指令

    v-if v-else v-else-if v-show

面试题v-if与v-show区别⭐

相同点:都是用来控制显示与隐藏

区别:v-if是通过dom操作(注释掉了)实现隐藏,v-show通过css方式(display:none)隐藏

频繁切换用v-show反之少量切换v-if

3.遍历指令v-for

作用:可以对字符串,数字,列表,对象进行遍历

eg:<p v-for="(item,index) in list" v-key="item">{ {index+1}]-{ {item}]

item 遍历的元素(自定义的名称) index遍历的下标(键名) list被遍历的数据

v-key 值必须唯一,为了更好的优化渲染列表

经验分享 程序员 微信小程序 职场和发展