vue3代码面试题,分享

214 阅读1分钟

提供几个Vue3常见错题实例以及解析,以练习题的形式呈现:

题目一:

<template>
  <div>{{ message }}</div>
</setup>
<script>
import { ref } from 'vue';

export default {
  // 预测输出结果及解析:
};
</script>

在这个例子中,setup 是 Vue3 的新选项,用于在组件内定义响应式状态和方法。但是在这里它被错误地放置在了 <template> 标签内。正确写法应该是:

<template>
  <div>{{ message }}</div>
</template>

<script>
import { ref } from 'vue';

export default {
  setup() {
    const message = ref('Hello, World!');
    
    // 正确的输出结果是:Hello, World!
    return { message };
  }
};
</script>

题目二:

<template>
  <button @click="increment">{{ count }}</button>
</template>

<script>
import { ref } from 'vue';

export default {
  setup() {
    let count = ref(0);
    
    function increment() {
      count++;
    }

    // 预测点击按钮后 `count` 的变化情况,并解析原因。
  }

  return {
    count,
    increment
  }
};
</script>

解析:在这个例子中,尽管我们试图通过 count++ 来增加 count 的值,但在 Vue3 的 ref 对象上调用自增操作符并不会触发视图更新。我们需要使用 .value 访问并修改其内部值:

function increment() {
  count.value++;
}

只有这样,当点击按钮时,页面上显示的 count 值才会递增。

以上只是两个简单的示例,实际上 Vue3 中常见的问题还包括但不限于对Composition API理解不深入、生命周期钩子函数使用不当、模板引用与变量绑定混淆等。希望这些练习题可以帮助您更好地理解和掌握 Vue3 的核心概念。