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外卖订购系统
  • 【数据结构学习】从零起步:学习数据结构的完整路径

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IDEA不能创建新项目和新模块

问题&#xff1a; IDEA不管是创建新项目还是新模块都创建不成功&#xff0c;会报如下图错误 解决方案&#xff1a; 在电脑设置里搜索 “防火墙和网络保护” &#xff0c;打开如下图所示 找到你所安装的IDEA&#xff0c;更改设置&#xff0c;选中IDEA 最后&#xff0c;确定&am…

Google Chrome GPU渲染抓包

非安全模式启动 "C:\Program Files\Google\Chrome\Application\chrome.exe" --ignore-certificate-errors --allow-running-insecure-content --disable-web-security 配置环境 set RENDERDOC_HOOK_EGL0 "C:/Program Files/Google/Chrome/Application/chrom…

NXP RT1176(一)——二级BootLoader开发(安全引导加载程序SBL)

目录 1. 开发环境 2. 二级BOOT的功能 3. 步骤 3.1 配置源码 3.2 构建项目 3.2.1 MDK 3.2.2 IAR&#xff08;IAR也编译一下工程看看&#xff0c;这样两个平台都可以支持了&#xff09; 单核M7的开发&#xff01;&#xff01; 1. 开发环境 本文Windows下开发&#xff1a;…

pandas style设置指定行的背景色

更多颜色请参考&#xff1a;https://www.sioe.cn/yingyong/yanse-rgb-16/ 效果图&#xff1a; 示例程序 import pandas as pd import numpy as npdef set_row_background_css(row):row_number row.nameif row_number 0: # 第一行设置CornflowerBlue 矢车菊的蓝色.._css …

vue加密传输,后端获取进行解密。

文章目录 概要Vue前端加密后端进行解密小结 概要 vue界面加密传输&#xff0c;后端获取进行解密&#xff0c;适用于登录时密码加密传输。 Vue前端加密 1.安装jsencrypt包&#xff1a; npm install jsencrypt安装完成后package.json会有jsencrypt依赖 2.引入jsencrypt.js到文…

国际铝业协会、中铝、百威亚太、海德鲁、诺贝利斯等企业将出席2024第二届中国绿色铝业国际峰会

据中国有色金属工业协会统计数据显示&#xff0c;2022年我国有色行业二氧化碳排放量约为6.6亿吨&#xff0c;其中铝行业二氧化碳排放量为5.5亿吨&#xff0c;占有色金属行业总排放量的83.3%&#xff0c;约占全国总排放量比重的5%&#xff08;2022年中国二氧化碳排放量约为110亿…

本机搭建RabbitMQ

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 一、下载安装包&#xff0c;搭建过程 二、重要概念介绍 三、创建用户 方式一&#xff1a;命令行 方式二&#xff1a;管理后台 3.1 创建用户 3.2 分配权限 3.3 提…

如何进行事务处理

1、问题背景 在数据库存储系统中&#xff0c;事务处理是一种保证多个数据库操作作为单个逻辑单元执行的技术。事务处理可以确保数据的一致性、完整性和隔离性。 在使用 Google Cloud Datastore 时&#xff0c;可以使用 datastore.transaction() 函数来进行事务处理。datastor…

如何使用AspectJ做切面,打印jar包中方法的执行日记

最近在工作中遇到一个redis缓存中的hash key莫名其妙被删除的问题&#xff0c;我们用了J2Cache&#xff0c;二级缓存用的是redis。hash key莫名其妙被删除又没有日志&#xff0c;就想到做一个切面在调用redis删除hash key的方法的时候&#xff0c;打印日志&#xff0c;并且把调…

ITSS认证流程详解!

ITSS,是Information Technology Service Standards的缩写&#xff0c;中文意思是信息技术服务标准&#xff0c;是在工业和信息化部、国家标准化委的领导和支持下&#xff0c;由ITSS工作组研制的一套IT服务领域的标准库和一套提供IT服务的方法论。 国家标准化委的领导和支持下&…

视频号小店是个风口吗?今年去做是明智的选择吗?一篇详解!

大家好&#xff0c;我是电商小V 视频号才刚刚推出一年半的时间&#xff0c;可以说自从推出之后这个项目的知名度一直是处于飙升的状态&#xff0c;一直处于爆火的状态&#xff0c;也是吸引了很多想做电商&#xff0c;想去创业的小伙伴&#xff0c;最主要的就是视频号小店背靠的…

关于Windows10系统突然WLAN/WIFI功能消失问题及Windows10 wireless AC9560 报错无法启动(代码10)处理

关于Windows10系统突然WIFI功能消息问题及Windows10 wireless AC9560 报错无法启动&#xff08;代码10&#xff09;处理 问题描述 前一天WiFi正常连接&#xff0c;期间没有关机&#xff0c;第二天打开电脑WLAN消失了&#xff0c;导致无法联网。即下面这个东东没有了。 问题分…

全面提升数据采集效率:IP代理产品的应用与评估详解

全面提升数据采集效率&#xff1a;IP代理产品的应用与评估详解 文章目录 全面提升数据采集效率&#xff1a;IP代理产品的应用与评估详解背景应用场景&#xff1a;平台首页信息抓取准备评测素材详细的产品使用和评测流程产品介绍亮数据的IP代理服务亮数据的爬虫工具及采集技术 注…

vant添加列表, 日期选择总是填充到最后一个组内原因

添加多个行程, 无论在哪个行程上修改时间, 时间总是只显示在最后一个行程里 错误代码: <div class"journey"><divv-for"(item, index) in ruleform.hrms_business_item":key"index"><div class"journey-title">&l…

C#实现各种Hash计算

C#实现各种Hash计算 文章目录 C#实现各种Hash计算涉及框架及库目前支持可计算的类型核心代码完整可运行代码 BCrypt总结 涉及框架及库 自己在NuGet管理器里面安装即可 BouncyCastle.Cryptography&#xff1a;是加密算法和协议的.NET实现。 目前支持可计算的类型 BLAKE2B_16…

pandas dataframe 的几种过滤数据的方法

pandas dataframe简介 Pandas是一个用于数据科学的开源Python库。这个库在整个数据科学行业被广泛使用。它是一个快速和非常强大的python工具来执行数据分析。Pandas为我们提供了读取、过滤、检查、操作、分析和绘制数据的命令。它使用内置函数加载以各种文件格式存储的数据&a…

深化市场布局与产业链整合,三清互联以创新为公司发展赋能

近年来&#xff0c;我国大力发展现代化电力体系&#xff0c;并不断推进智能电网的发展&#xff0c;电力物联网作为支撑电力行业数字化发展的关键基础设施&#xff0c;迎来了快速发展黄金时期。作为电力物联网领域领先企业之一&#xff0c;三清互联凭借敏锐的市场洞察力和技术创…

Linux之函数应用实例--加法器

一、创建一个对2个整数求和的加法器 首先&#xff0c;定义了一个名为 adder 的 Bash 函数&#xff0c;该函数接受两个参数 $1 和 $2 并输出它们的和。 function adder { echo $[ $1$2 ] } 注意&#xff1a; function 关键字是可选的。在 Bash 中&#xff0c;可以简单地使…

虚拟化技术 在vCenter Server创建数中心、添加主机

一、实验内容 1.安装Flash 2.在vCenter Server创建数中心、添加主机 二、实验主要仪器设备及器材 1.安装有64位Windows操作系统的台式电脑或笔记本电脑&#xff0c;建议4C8G或以上配置 2.在Windows Server 2008 R2已安装vCenter Server 3.Adobe Flash Player 12.0.0.70.e…

8.微服务项目结合SpringSecurity项目结构

项目结构 acl_parent:创建父工程用来管理依赖版本 common service_base&#xff1a;工具类 spring_security: Spring Security相关配置 infrastructure api_gateway: 网关 service service_acl: 实现权限管理功能代码 acl_parent的pom.xml <?xml version"1.0" …