面试题答案
一键面试Vue插值表达式特点
- 用于数据展示:主要功能是将数据插入到模板中进行展示,语法简单直观,使用
{{ }}
包裹要展示的数据。 - 只能进行简单运算:可以进行一些基本的算术运算、字符串拼接以及三元表达式等简单逻辑,但不能包含复杂的JavaScript语句。
优先使用插值表达式场景举例
- 展示文本数据:当需要在页面上展示动态数据时,优先使用插值表达式。例如,展示用户的姓名:
<div>用户姓名:{{ user.name }}</div>
- 简单运算展示:比如展示商品的折扣后价格,假设原价
price
,折扣discount
:
<div>折扣后价格:{{ price * (1 - discount) }}</div>
Vue指令特点
- 用于DOM操作:指令是带有
v-
前缀的特殊属性,用于对DOM元素进行操作,例如控制元素的显示隐藏、绑定事件、循环渲染等。 - 丰富的功能:每个指令都有特定的功能,能实现复杂的交互逻辑和DOM操作,而不仅仅局限于数据展示。
优先使用指令场景举例
- 控制元素显示隐藏:使用
v-if
或v-show
指令。v-if
根据表达式的真假来动态添加或移除DOM元素,v-show
则是通过切换元素的display
样式来控制显示隐藏。
<!-- v-if 根据条件决定是否渲染该元素 -->
<div v-if="isLoggedIn">欢迎,用户</div>
<!-- v-show 根据条件切换元素的display样式 -->
<div v-show="isVisible">这是一个可见性受控的元素</div>
- 绑定事件:使用
v-on
指令(可缩写为@
)。例如,为按钮绑定点击事件:
<button @click="handleClick">点击我</button>
在methods
中定义handleClick
方法:
methods: {
handleClick() {
console.log('按钮被点击了');
}
}
- 列表渲染:使用
v-for
指令,根据数组或对象来循环渲染元素。例如,渲染一个用户列表:
<ul>
<li v-for="user in users" :key="user.id">{{ user.name }}</li>
</ul>
这里users
是一个数组,每个user
对象包含id
和name
属性。:key
用于提高列表渲染的效率。