Vue.js 详细介绍

文章目录

    • 一、Vue.js 简介
      • 1.1 什么是 Vue.js?
      • 1.2 Vue.js 的特点
    • 二、快速上手 Vue.js
      • 2.1 安装 Vue.js
        • 使用 CDN
        • 使用 npm 或 yarn
      • 2.2 创建一个 Vue 实例
      • 2.3 Vue.js 项目结构
    • 三、Vue.js 核心概念
      • 3.1 数据绑定
      • 3.2 指令(Directives)
      • 3.3 组件(Components)
      • 3.4 路由(Vue Router)
    • 四、Vue.js 实践技巧
      • 4.1 状态管理(Vuex)
      • 4.2 表单处理
      • 4.3 自定义指令
    • 五、总结

在这里插入图片描述

🎉欢迎来到架构设计专栏~探索Java中的静态变量与实例变量


  • ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒🍹
  • ✨博客主页:IT·陈寒的博客
  • 🎈该系列文章专栏:架构设计
  • 📜其他专栏:Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 数据结构学习
  • 🍹文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
  • 📜 欢迎大家关注! ❤️

Vue.js 是一款流行的 JavaScript 框架,用于构建用户界面。它采用自底向上的增量开发设计,可以轻松地整合到其他项目中,或者与现代化工具链结合使用,开发功能齐全的单页面应用程序(SPA)。本文将详细介绍 Vue.js 的基本概念、核心功能和常用实践,帮助你快速上手并高效使用 Vue.js。
在这里插入图片描述

一、Vue.js 简介

1.1 什么是 Vue.js?

Vue.js 是由尤雨溪(Evan You)开发的一款开源 JavaScript 框架。它的设计理念是通过简单易用的 API 和数据绑定机制,让开发者能够高效地构建用户界面。

1.2 Vue.js 的特点

  • 易用性:Vue.js 的 API 简洁直观,入门容易,适合初学者。
  • 灵活性:Vue.js 可以渐进式地整合到项目中,从简单的组件到复杂的单页面应用(SPA)都能胜任。
  • 高性能:Vue.js 采用虚拟 DOM,保证了高效的渲染性能。
  • 组件化:Vue.js 提供了强大的组件系统,使得代码可以模块化和复用。

二、快速上手 Vue.js

2.1 安装 Vue.js

可以通过 CDN、npm 或 yarn 安装 Vue.js。

使用 CDN

在 HTML 文件中引入 Vue.js:

<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
使用 npm 或 yarn

在项目中安装 Vue.js:

npm install vue

yarn add vue

2.2 创建一个 Vue 实例

创建一个简单的 Vue 实例并将其挂载到 HTML 元素上:

<!DOCTYPE html>
<html>
<head><title>Vue.js Example</title><script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
</head>
<body><div id="app">{{ message }}</div><script>new Vue({el: '#app',data: {message: 'Hello Vue!'}});</script>
</body>
</html>

2.3 Vue.js 项目结构

一个典型的 Vue.js 项目使用 Vue CLI 创建,目录结构如下:

my-project/
├── node_modules/
├── public/
│   └── index.html
├── src/
│   ├── assets/
│   ├── components/
│   │   └── HelloWorld.vue
│   ├── App.vue
│   └── main.js
├── .gitignore
├── babel.config.js
├── package.json
├── README.md
└── vue.config.js

三、Vue.js 核心概念

3.1 数据绑定

Vue.js 提供了双向数据绑定机制,可以自动同步视图和数据。最常见的方式是使用 {{ }} 插值语法:

<div id="app">{{ message }}
</div><script>new Vue({el: '#app',data: {message: 'Hello Vue!'}});
</script>

3.2 指令(Directives)

Vue.js 提供了一些内置指令,用于在模板中操作 DOM:

  • v-bind:绑定 HTML 属性
  • v-if:条件渲染
  • v-for:列表渲染
  • v-on:事件监听
  • v-model:表单控件绑定

示例:

<div id="app"><p v-if="isVisible">Visible</p><ul><li v-for="item in items" :key="item.id">{{ item.text }}</li></ul><button v-on:click="toggleVisibility">Toggle</button><input v-model="message">
</div><script>new Vue({el: '#app',data: {isVisible: true,items: [{ id: 1, text: 'Item 1' },{ id: 2, text: 'Item 2' }],message: ''},methods: {toggleVisibility() {this.isVisible = !this.isVisible;}}});
</script>

3.3 组件(Components)

组件是 Vue.js 的核心功能之一。组件允许你将 UI 切分成独立的、可复用的小部件。创建组件示例:

<!-- HelloWorld.vue -->
<template><div><h1>{{ msg }}</h1></div>
</template><script>
export default {props: ['msg']
};
</script><style scoped>
h1 {color: blue;
}
</style>

在父组件中使用:

<!-- App.vue -->
<template><div id="app"><HelloWorld msg="Welcome to Your Vue.js App"/></div>
</template><script>
import HelloWorld from './components/HelloWorld.vue';export default {name: 'App',components: {HelloWorld}
};
</script>

3.4 路由(Vue Router)

Vue Router 是官方的路由管理器,用于构建单页面应用(SPA)。首先安装 Vue Router:

npm install vue-router

配置路由:

// src/router/index.js
import Vue from 'vue';
import Router from 'vue-router';
import Home from '@/components/Home.vue';
import About from '@/components/About.vue';Vue.use(Router);export default new Router({routes: [{ path: '/', component: Home },{ path: '/about', component: About }]
});

在项目中使用:

// src/main.js
import Vue from 'vue';
import App from './App.vue';
import router from './router';new Vue({render: h => h(App),router
}).$mount('#app');

四、Vue.js 实践技巧

4.1 状态管理(Vuex)

在复杂的应用中,状态管理是一个重要问题。Vuex 是 Vue.js 官方的状态管理库,提供了集中式存储管理应用的所有组件状态。

安装 Vuex:

npm install vuex

配置 Vuex:

// src/store/index.js
import Vue from 'vue';
import Vuex from 'vuex';Vue.use(Vuex);export default new Vuex.Store({state: {count: 0},mutations: {increment(state) {state.count++;}},actions: {increment({ commit }) {commit('increment');}},getters: {count: state => state.count}
});

在组件中使用 Vuex:

<template><div><p>{{ count }}</p><button @click="increment">Increment</button></div>
</template><script>
import { mapState, mapActions } from 'vuex';export default {computed: {...mapState(['count'])},methods: {...mapActions(['increment'])}
};
</script>

4.2 表单处理

Vue.js 提供了 v-model 指令用于处理表单输入绑定,同时支持修饰符来处理各种表单控件的特殊情况。

<template><div><input v-model="message" placeholder="Type something"><p>{{ message }}</p></div>
</template><script>
export default {data() {return {message: ''};}
};
</script>

4.3 自定义指令

Vue.js 支持自定义指令,用于在 DOM 上执行更复杂的操作。例如,创建一个 v-focus 指令,使得元素在插入到 DOM 中时自动获得焦点:

// main.js
Vue.directive('focus', {inserted: function (el) {el.focus();}
});

在模板中使用自定义指令:

<template><div><input v-focus></div>
</template>

五、总结

通过本文的介绍,我们详细了解了 Vue.js 的基本概念、核心功能和常用实践。无论是简单的单页面应用还是复杂的多组件项目,Vue.js 都能提供高效、简洁的解决方案。希望本文能帮助你更好地掌握和使用 Vue.js,提升开发效率和项目质量。

对于更深入的学习,可以参考 Vue.js 官方文档:Vue.js 官方文档


🧸结尾 ❤️ 感谢您的支持和鼓励! 😊🙏
📜您可能感兴趣的内容:

  • 【Java面试技巧】Java面试八股文 - 掌握面试必备知识(目录篇)
  • 【Java学习路线】2023年完整版Java学习路线图
  • 【AIGC人工智能】Chat GPT是什么,初学者怎么使用Chat GPT,需要注意些什么
  • 【Java实战项目】SpringBoot+SSM实战:打造高效便捷的企业级Java外卖订购系统
  • 【数据结构学习】从零起步:学习数据结构的完整路径

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1423868.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

MATLAB车辆动力学建模 ——《控制系统现代开发技术》

引言 在上这门课之前&#xff0c;我已经用过CasADi 去做过最优化的相关实践&#xff0c;其中每一步迭代主要就是由&#xff1a;对象系统优化求解两部分组成的。这里我们重点介绍 “对象系统”如何去描述 &#xff0c;因为它是每一步迭代中重要的一环——“优化求解”会获得控制…

Linux系统中pts和tty会话删除

一、背景 一台CentOS6.7主机存在iscsi盘&#xff0c;为了正常卸载此iscsi盘&#xff0c;需要先将所有相关会话退出使用该iscsi盘。 检查发现存在多个系统用户登录的情况。 二、问题 无法使用kill -9删除linux会话&#xff0c;提示信息为“-bash: kill: (16680) - Operation not…

java项目之企业资产管理系统(springboot+vue+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的企业资产管理系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 管理员功能有个人中心&…

【全开源】JAVA红娘婚恋相亲交友系统源码支持微信小程序+微信公众号+H5+APP

红娘婚恋相亲交友系统&#xff1a;遇见你的命中注定 在快节奏的现代生活中&#xff0c;许多单身男女都在寻找一个平台&#xff0c;希望能遇见那个能与自己携手共度一生的伴侣。红娘婚恋相亲交友系统正是为了满足这一需求而诞生的&#xff0c;它旨在为广大单身男女提供一个安全…

咒语和药水的成功对数

题目链接 咒语和药水的成功对数 题目描述 注意点 一个咒语和药水的能量强度相乘如果大于等于 success &#xff0c;那么它们视为一对成功的组合 解答思路 先将药水进行排序&#xff0c;然后二分查找找到某个咒语i和药水的能量强度相乘大于等于success的左边界left&#xf…

A股股息率最高的十个行业,哪些高股息可持续?

2023年以来&#xff0c;银行不断调低存款利率。目前&#xff0c;六大行5年定期存款&#xff08;整存整取&#xff09;挂牌利率约为2%。随着存款收益下降&#xff0c;那些股息率较高的上市公司和行业受到了关注。 数据分析显示&#xff0c;一部分行业的高股息可以持续&#xff…

JAVA云HIS医院管理系统源码 云HIS系统源码 SaaS模式 采用Java+Spring,SpringBoot开发的云HIS医院管理系统

云HIS采用JavaSpring&#xff0c;SpringBoot&#xff0c;SpringMVC&#xff0c;SpringSecurity&#xff0c;MyBatisPlus技术开发。可满足诊所业务中预约、看诊、收费、发药、药库管理、经营分析等多环节的工作需要。和传统医院系统相比&#xff0c;云HIS的操作简单&#xff0c;…

【Python】使用requests采集数据存入mysql或文件

一、什么是requests requests包是一个使用Python编写的HTTP请求库&#xff0c;使得发送HTTP请求和处理HTTP响应变得更加简单。以下是对requests包的详细介绍&#xff1a; 用途&#xff1a; requests包主要用于与HTTP交互&#xff0c;能够发送HTTP请求和处理HTTP响应。它支持处…

uni-app:音频播放 uni.createInnerAudioContext()

uni.createInnerAudioContext() 创建并返回内部 audio 上下文 innerAudioContext 对象 简单实现音频播放&#xff1a; let innerAudioContext uni.createInnerAudioContext(); innerAudioContext.src ../../../../static/ok.MP3;//音频地址 innerAudioContext.play(); inn…

SL3038 48V/60V电动车里程增程器电源驱动芯片 大电流3A

在电动车领域中&#xff0c;电池续航能力一直是制约其广泛应用的关键因素之一。为了提高电动车的续航能力和使用效率&#xff0c;各大厂商纷纷投入研发&#xff0c;寻求更为先进的电源驱动芯片解决方案。其中&#xff0c;SL3038 48V/60V电动车里程增程器电源驱动芯片以其卓越的…

我是如何利用AI提高内容生产效率的

文章目录 如何利用AI提高内容生产效率?自动化内容生成内容推荐与个性化数据分析与内容优化自动化编辑与翻译虚拟助手与自动化排版智能内容管理与版本控制情感分析与内容优化实时反馈与即时调整跨平台内容适配智能内容生成工具总结 如何利用AI提高内容生产效率? 简介&#xff…

JAVA二手车交易二手车市场系统源码支持微信小程序+微信公众号+H5+APP

二手车交易二手车市场系统&#xff1a;重塑购车新体验 随着汽车消费市场的日益成熟&#xff0c;二手车交易逐渐成为消费者购车的新选择。为了提供更加便捷、透明、安全的二手车交易环境&#xff0c;我们推出了“二手车交易二手车市场系统”&#xff0c;旨在为买卖双方搭建一个…

Stable Diffusion基础界面介绍

SD是stable diffusion的简称&#xff0c;AI绘画的一个开源应用,&#xff08;不需要科学上网&#xff09;&#xff0c;目前使用的版本是B站UP秋葉aaaki整理的最终版。 安装教程详见 B站up主 秋葉aaaki&#xff0c;教程下有提供stable diffusion的下载链接。 安装必要的三个基础…

【python数据预处理系列】使用Pandas的factorize()函数进行类别编码(整数编码)

在Pandas中&#xff0c;factorize()函数主要用于将分类变量转换为整数编码&#xff0c;这对于减少内存使用或准备数据进行某些统计分析非常有用。 它实际上是将列的唯一值映射到从0开始的整数序列上。 假设有一个DataFrame&#xff0c;其中一列包含一些类别值&#xff0c;你希望…

AIGC行业现在适合进入吗

简介 进入人工智能&#xff08;AI&#xff09;与游戏行业整合&#xff08;AIGC&#xff09;领域需要考虑当前的市场需求和行业发展阶段&#xff1a; 1、市场需求&#xff1a;目前&#xff0c;人工智能和游戏行业都在不断发展壮大&#xff0c;并且两者的结合也逐渐成为一个热门领…

【吊打面试官系列】Java高并发篇 - 并发编程三要素?

大家好&#xff0c;我是锋哥。今天分享关于 【并发编程三要素&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 并发编程三要素&#xff1f; 1、原子性 原子性指的是一个或者多个操作&#xff0c;要么全部执行并且在执行的过程中不被其他操作打断&#xff0c;要…

杭州首场!ClickHouse技术沙龙来了,NineData架构师周金义将分享《ClickHouse 数据管理与同步的关键技术》

2024年 5 月 18 日&#xff0c;ClickHouse官方首届杭州 Meetup 活动即将举行。本次活动由 ClickHouse 和阿里云主办&#xff0c;NineData 和云数据库技术社区协办。本次技术沙龙将围绕ClickHouse的核心技术、应用案例、最佳实践、数据管理、以及迁移同步等方面&#xff0c;和行…

四.Ubuntu安装postgresql数据库

四&#xff0e;Ubuntu安装postgresql数据库 1.安装postgresql数据库命令&#xff1a;apt install postgresql postgresql-contrib 依次回车,等待安装完成。 2.以postgres用户登录PostgreSQL&#xff0c;命令&#xff1a;sudo -u postgres psql 修改postgres密码命令&#x…

「AIGC」Python实现tokens算法

本文主要介绍通过python实现tokens统计,避免重复调用openai等官方api,开源节流。 一、设计思路 初始化tokenizer使用tokenizer将文本转换为tokens计算token的数量二、业务场景 2.1 首次加载依赖 2.2 执行业务逻辑 三、核心代码 from transformers import AutoTokenizer imp…

【LeetCode:23. 合并 K 个升序链表 + 链表 + 归并 + 递归】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…