返回

Vue.js 3 环境搭建指南

见解分享

Vue.js 3 学习之旅:深入技术与实践

序言

在充满活力的网络开发领域,Vue.js 3 以其出色的响应式系统和清晰的代码结构备受青睐。踏上学习 Vue.js 3 之旅,让我们探索其内在机制,提升您的开发技能。本文将带您领略这门技术的精髓,为您提供一个全面而实用的学习指南。

环境搭建

  1. 安装 Node.js:使用最新版本的 Node.js(推荐 16.x 及以上)。
  2. 安装 Vue CLI:运行 npm install -g @vue/cli
  3. 创建新项目:vue create my-vue3-app

基础 API 使用

setup

setup() {
  // 响应式数据
  const count = ref(0);

  // 计算属性
  const doubledCount = computed(() => count.value * 2);

  // 侦听器
  watch(count, (newVal, oldVal) => {
    // newVal 是最新的值,oldVal 是旧的值
  });
}

响应式 API

// 响应式数据
const reactiveData = reactive({
  name: 'John Doe'
});

// 修改响应式数据
reactiveData.name = 'Jane Doe';

计算属性

// 计算属性
const computedProperty = computed(() => {
  // 返回计算后的值
});

侦听器

// 侦听器
watch(() => {
  // 侦听的表达式
}, (newVal, oldVal) => {
  // newVal 是最新的值,oldVal 是旧的值
});

Vue 3 生命周期

  1. 创建阶段beforeCreatecreated
  2. 挂载阶段beforeMountmounted
  3. 更新阶段beforeUpdateupdated
  4. 卸载阶段beforeUnmountunmounted

依赖注入

// provide() 方法
provide('myService', new MyService());

// inject() 方法
const myService = inject('myService');

模板 Refs

// 模板中使用 ref
<template>
  <button ref="myButton"></button>
</template>

// 访问 DOM 元素
const myButton = this.$refs.myButton;

响应式工具

reactive

const reactiveObject = reactive({
  name: 'John Doe'
});

ref

const refObject = ref('John Doe');

computed

const computedValue = computed(() => {
  // 计算后的值
});

watchEffect

watchEffect(() => {
  // 副作用,在依赖项改变时触发
});

watch

watch(() => {
  // 侦听的表达式
}, (newVal, oldVal) => {
  // newVal 是最新的值,oldVal 是旧的值
});

实例探究与代码示例

技术指南:实现一个动态 Todo 列表

// Todo.vue
<template>
  <ul>
    <li v-for="todo in todos" :key="todo.id">
      <input type="checkbox" v-model="todo.completed">
      <span>{{ todo.title }}</span>
    </li>
  </ul>
</template>

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

export default {
  setup() {
    const todos = reactive([
      { id: 1, title: 'Learn Vue.js', completed: false },
      { id: 2, title: 'Build a Todo app', completed: true }
    ]);

    return {
      todos
    };
  }
};
</script>

实用示例:打造一个多语言网站

// i18n.js
import { createI18n } from 'vue-i18n';

export default createI18n({
  locale: 'en',
  messages: {
    en: {
      greeting: 'Hello, world!'
    },
    fr: {
      greeting: 'Bonjour, le monde !'
    }
  }
});
// App.vue
<template>
  <div>{{ $t('greeting') }}</div>
</template>

<script>
import { createApp } from 'vue';
import i18n from './i18n';

createApp({
  i18n
}).mount('#app');
</script>

总结

踏上 Vue.js 3 的学习之旅,我们探索了其基础 API、生命周期、依赖注入、模板 Refs 和响应式工具。通过实例和示例代码,我们深入了解了 Vue.js 3 在实际开发中的应用。

掌握 Vue.js 3 的精髓,您可以构建响应迅速、高效且用户友好的 Web 应用程序。无论您是初学者还是经验丰富的开发人员,本指南都为您提供了全面且实用的基础,帮助您充分发挥 Vue.js 3 的强大功能。