2.1 [Vue.js框架概述与基本概念(10分钟)]

举报
Nick Qiu 发表于 2024/09/27 07:00:22 2024/09/27
【摘要】 Vue.js 框架概述与基本概念理论:介绍 Vue.js 的框架特点、MVVM 模式、核心功能(数据绑定、指令等)。实践:搭建一个简单的 Vue 项目,展示基本的绑定和指令操作。参考 1. 理论 1.1 Vue 是什么?Vue 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高...

Vue.js 框架概述与基本概念

  • 理论:介绍 Vue.js 的框架特点、MVVM 模式、核心功能(数据绑定、指令等)。
  • 实践:搭建一个简单的 Vue 项目,展示基本的绑定和指令操作。
  • 参考

1. 理论

1.1 Vue 是什么?

Vue 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。

如:

<script setup>
import { ref } from 'vue'
const count = ref(0)
</script>

<template>
  <button @click="count++">Count is: {{ count }}</button>
</template>

<style scoped>
button {
  font-weight: bold;
}
</style>

1.1.1 声明式渲染

Vue 基于标准 HTML 拓展了一套模板语法,使得我们可以声明式地描述最终输出的 HTML 和 JavaScript 状态之间的关系。

1.1.2 响应性

Vue 会自动跟踪 JavaScript 状态并在其发生变化时响应式地更新 DOM。

1.2 Vue 的接口

Vue 的组件可以按两种不同的风格书写:选项式 API 和组合式 API。

1.2.1 选项式 API (Options API)

使用选项式 API,我们可以用包含多个选项的对象来描述组件的逻辑,例如 datamethodsmounted。选项所定义的属性都会暴露在函数内部的 this 上,它会指向当前的组件实例。

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

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

1.2.2 组合式 API (Composition API)

通过组合式 API,我们可以使用导入的 API 函数来描述组件逻辑。在单文件组件中,组合式 API 通常会与 <script setup> 搭配使用。这个 setup attribute 是一个标识,告诉 Vue 需要在编译时进行一些处理,让我们可以更简洁地使用组合式 API。比如,<script setup> 中的导入和顶层变量/函数都能够在模板中直接使用。

<script setup>
import { ref, onMounted } from 'vue'

const count = ref(0)

function increment() {
  count.value++
}

onMounted(() => {
  console.log(`The initial count is ${count.value}.`)
})
</script>

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

2. 实践

2.1 环境准备

  1. 下载并安装 VSCode
  2. 下载并安装 Git,安装时同步安装 Git Bash。
  3. NVM 安装
    1. Windows NVM
    2. macOS NVM

2.2 配置并安装 Node.js

# 配置加速镜像,安装 Node.js
$ export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/
$ nvm install 20.17.0
$ nvm use 20.17.0
$ nvm alias default 20.17.0

# 安装并配置 nrm(Node.js Registry Manager)
$ npm install -g nrm
$ nrm ls
  npm ---------- https://registry.npmjs.org/
  yarn --------- https://registry.yarnpkg.com/
* tencent ------ https://mirrors.cloud.tencent.com/npm/
  cnpm --------- https://r.cnpmjs.org/
  taobao ------- https://registry.npmmirror.com/

# 选择合适的 npm 镜像
$ nrm use tencent

2.3 创建一个 Vue 项目

$ npm create vue@latest

在提示时,根据需求选择配置项。选择默认配置,或者根据项目需要选择其他选项。完成后,运行以下命令启动项目:

cd vue-demo
npm install
npm run dev

访问浏览器中的 http://localhost:5173/ 查看项目运行情况。

2.4 修改并演示项目

修改 AboutView.vue 文件,添加 count 变量,并与页面中的 h1 元素绑定。点击按钮时,count 的值会增加,并在页面上实时更新。

<script setup>
import { ref } from 'vue';
const count = ref(0)

function clickMe() {
  count.value++
}
</script>

<template>
  <div class="about">
    <h1>count = {{ count }}</h1>
    <button @click="clickMe">点击我</button>
  </div>
</template>

<style>
@media (min-width: 1024px) {
  .about {
    min-height: 100vh;
    display: flex;
    align-items: center;
  }
}
</style>

3. 参考

  1. Node.js 官方网站

  2. Vue.js 官方网站

  3. Vue.js 中文文档

  4. NVM 安装

    1. Windows NVM
    2. macOS NVM
  5. 本文地址

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。