前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue3学习笔记-Basic Syntax

Vue3学习笔记-Basic Syntax

原创
作者头像
行者深蓝
修改2023-12-08 16:55:23
2420
修改2023-12-08 16:55:23
举报
文章被收录于专栏:云原生应用工坊

概述

Vue 3 是一个流行的前端 JavaScript 框架,用于构建用户界面和单页应用程序。以下是 Vue 3 的基本语法和一些示例代码。

vue 文件结构

Vue 3 组件通常在 .vue 文件中定义,包括三个部分:<template>, <script>, <style>。

代码语言:html
复制
Copy code
<template>
  <!-- HTML 模版 -->
</template>

<script>
export default {
  // JavaScript 逻辑
};
</script>

<style>
/* CSS 样式 */
</style>

生命周期钩子

Vue 组件有多个生命周期钩子,例如:

created(): 组件实例被创建后调用。

mounted(): 组件挂载到 DOM 上后调用。

代码语言:javascript
复制
Copy code
export default {
  created() {
    // 组件创建后的逻辑
  },
  mounted() {
    // 组件挂载后的逻辑
  }
};

模板语法

Vue 使用基于 HTML 的模板语法,允许你声明式地将 DOM 绑定到底层组件实例的数据。

  • v-for: 列表渲染
  • v-if, v-show: 条件渲染
  • v-on: 监听 DOM 事件
  • v-model: 创建双向数据绑定
代码语言:txt
复制
<template>
  <div v-for="item in items" :key="item.id">
    {{ item.text }}
  </div>
</template>

组件

组件是 Vue 应用的基本构建块。

注册组件:

代码语言:txt
复制
import MyComponent from './MyComponent.vue';

export default {
  components: {
    MyComponent
  }
};

组件通讯:

父组件 -> 子组件: 通过 props 传递数据。

子组件 -> 父组件: 通过自定义事件。

兄弟组件通信: 使用 Vuex 或 Pinia(Vuex 的替代品)。

Composition API

在 Vue 3 中,<script setup> 是一个编译时语法糖,用于使组件的编写更加简洁和直观。这种语法的核心优点是减少样板代码,并直接使用 Composition API。它也提供了更好的类型推断支持,特别是在使用 TypeScript 时。

<script setup> 语法

在 <script setup> 中,你可以直接定义组件的逻辑,而不需要像传统的 <script> 那样导出一个对象。这简化了代码结构,使其更易于阅读和维护。

代码语言:txt
复制
<script setup>
import { ref, onMounted } from 'vue';

const count = ref(0);

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

onMounted(() => {
  console.log('组件已挂载');
});
</script>
  • 响应式编程 Vue 3 使用 Composition API 提供了更灵活的方式来组合和重用逻辑。ref 和 reactive 是两个基本的响应式 API。

ref: 用于定义一个响应式的数据引用。

const count = ref(0);

你可以通过 count.value 来获取或设置该数据的值。

reactive: 用于创建一个响应式的对象。

代码语言:txt
复制
const state = reactive({ count: 0 });

可以直接通过 state.count 访问和修改属性。

示例代码

代码语言:txt
复制
<template>

  <button @click="increment">点击我</button>

  <p>计数: {{ count }}</p>

</template>

<script setup>

import { ref } from 'vue';

const count = ref(0);

function increment() {

  count.value++;

}

</script>

<style>

p {

  color: red;

}

</style>

在 Vue 3 中,虽然 <script setup> 语法提供了一个更简洁的方式来使用 Composition API,但有时你可能想保持清晰的代码结构,比如通过明确地导出组件选项。这可以通过结合使用 <script setup> 和传统的 <script> 标签来实现。

这种方法允许你从 <script setup> 中导出响应式状态和函数,同时保持 <script> 中对组件的配置和声明周期钩子的访问。

示例代码

以下是一个示例,展示了如何在 Vue 3 组件中结合使用 <script setup> 和 <script>。

代码语言:txt
复制
<template>

  <button @click="increment">点击我</button>

  <p>计数: {{ count }}</p>

</template>

<script setup>

import { ref } from 'vue';

const count = ref(0);

function increment() {

  count.value++;

}

export { count, increment };

</script>

<script>

export default {

  name: 'CounterComponent',

  // 更多的组件选项...

  mounted() {
console.log('组件已挂载');

  }

};
</script>

<style>
p {
  color: green;
}
</style>

在这个例子中:

<script setup>: 我们定义了一个响应式引用 count 和一个方法 increment。这两者都被导出,使得它们可以在 <script> 标签外部使用。

<script>: 我们定义了组件的名称和其它选项,如生命周期钩子 mounted。

这种结合使用两种脚本的方法提供了灵活性,允许你在使用 Composition API 的同时,保持组件的清晰和结构化。这在大型项目或需要更细致组织代码的情况下特别有用。

扩展

  • 路由: 使用 vue-router 创建单页应用程序的路由。
  • Ajax 请求: 使用 axios 发送 HTTP 请求。
  • UI 组件库: 如 Element UI 提供现成的 Vue 组件。
  • 后端集成: 可以与 Koa 或 Express 等 Node.js 框架集成。

示例代码

代码语言:html
复制
Copy code
<template>
  <button @click="increment">点击我</button>
  <p>计数: {{ count }}</p>
</template>

<script>
export default {
  data() {
    return {
      count: 0
    };
  },
  methods: {
    increment() {
      this.count += 1;
    }
  }
};
</script>

<style>
p {
  color: blue;
}
</style>

这个简单的示例展示了一个按钮,点击它会增加计数,并在页面上显示。这涵盖了组件的基本结构、事件处理和响应式数据绑定的概念。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
    • vue 文件结构
      • 生命周期钩子
        • 模板语法
          • 组件
            • 组件通讯:
              • Composition API
                • 扩展
                • 示例代码
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档