当前位置:首页 > 科技  > 软件

Vue入门指南:从基础到实践

来源: 责编: 时间:2024-07-03 17:26:29 1329观看
导读Vue.js是一个流行的JavaScript框架,用于构建用户界面和单页应用程序。它以简洁、易用和高效而著称,使得开发者能够快速上手并开发出功能丰富的Web应用。本文将带你走进Vue的世界,从基础知识到实践应用,一步步引导你掌握Vu

Vue.js是一个流行的JavaScript框架,用于构建用户界面和单页应用程序。它以简洁、易用和高效而著称,使得开发者能够快速上手并开发出功能丰富的Web应用。本文将带你走进Vue的世界,从基础知识到实践应用,一步步引导你掌握Vue的核心概念和开发技巧。VkS28资讯网——每日最新资讯28at.com

VkS28资讯网——每日最新资讯28at.com

一、Vue简介

Vue.js(通常简称为Vue)是一个用于构建用户界面的渐进式JavaScript框架。与其他重量级框架(如Angular、React)不同,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。VkS28资讯网——每日最新资讯28at.com

二、Vue基础

1. 声明式渲染

Vue.js的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进DOM的系统:VkS28资讯网——每日最新资讯28at.com

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

这段代码创建了一个Vue实例,并将其挂载到匹配选择器#app的第一个元素上。当这些数据对象上的数据改变时,视图会进行重渲染。VkS28资讯网——每日最新资讯28at.com

2. 组件系统

组件是Vue应用中的基本单位,用于构建用户界面。每个Vue组件都包含预定义选项的一个对象,其中大多数选项是函数,用于定义组件的行为:VkS28资讯网——每日最新资讯28at.com

Vue.component('todo-item', {  props: ['todo'],  template: '<li>{{ todo.text }}</li>'})

你可以通过简单的方式在父组件中使用这个组件:VkS28资讯网——每日最新资讯28at.com

<ol>  <todo-item v-for="item in groceryList" v-bind:todo="item"></todo-item></ol>

3. 指令

Vue.js提供了一系列指令,用于将数据绑定到DOM上。最常用的指令包括v-bind、v-model、v-for等。VkS28资讯网——每日最新资讯28at.com

  • v-bind:动态地绑定一个或多个特性,或一个组件 prop 到表达式。
  • v-model:在表单输入和应用状态之间创建双向数据绑定。
  • v-for:基于源数据多次渲染元素或模板块。

4. Vue实例

每个Vue应用都是通过构造函数Vue创建一个新的Vue实例开始的:VkS28资讯网——每日最新资讯28at.com

var vm = new Vue({  // 选项})

在实例化时存在一系列选项,包含数据、模板、挂载元素、方法、生命周期钩子等。VkS28资讯网——每日最新资讯28at.com

三、Vue进阶

1. 计算属性和侦听器

计算属性用于声明式地描述一个数据依赖于其他数据。Vue会自动追踪依赖数据的变化,并且仅在相关依赖发生变化时才重新计算。VkS28资讯网——每日最新资讯28at.com

computed: {  reversedMessage() {    return this.message.split('').reverse().join('')  }}

侦听器允许你执行代码响应于数据的变化。当需要在数据变化时执行异步或开销较大的操作时,侦听器非常有用。VkS28资讯网——每日最新资讯28at.com

watch: {  message(newVal, oldVal) {    console.log(`Message changed from ${oldVal} to ${newVal}`);  }}

2. 条件渲染和列表渲染

Vue提供了v-if、v-else-if、v-else等指令用于条件渲染,以及v-for指令用于列表渲染。VkS28资讯网——每日最新资讯28at.com

<div v-if="type === 'A'">A</div><div v-else-if="type === 'B'">B</div><div v-else-if="type === 'C'">C</div><div v-else>Not A/B/C</div><ul>  <li v-for="item in items">{{ item.text }}</li></ul>

3. 事件处理

Vue允许你使用v-on指令监听DOM事件,并在触发时执行一些JavaScript代码。VkS28资讯网——每日最新资讯28at.com

<button v-on:click="counter += 1">Add 1</button>

4. 表单输入绑定

使用v-model指令可以实现表单输入和应用状态之间的双向绑定。VkS28资讯网——每日最新资讯28at.com

<input v-model="message">

四、Vue实例生命周期

每个Vue实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到DOM并在数据变化时更新DOM等。同时在这个过程中也会调用一些生命周期钩子,给予用户机会在一些特定的时刻加入自己的代码。VkS28资讯网——每日最新资讯28at.com

  • beforeCreate:在实例初始化之后,数据观测(data observer)和event/watcher事件配置之前被调用。
  • created:在实例创建完成后被立即调用。在这一步,实例已完成数据观测、属性和方法的运算、watch/event事件回调。然而,挂载阶段还没开始,$el属性目前尚不可用。
  • beforeMount:在挂载开始之前被调用:相关的render函数首次被调用。该钩子在服务器端渲染期间不被调用。
  • mounted:el被新创建的vm.el也在文档内。
  • beforeUpdate:数据更新时调用,发生在虚拟DOM打补丁之前。这里适合在更新之前访问现有的DOM,比如手动移除已添加的事件监听器。
  • updated:由于数据更改导致的虚拟DOM重新渲染和打补丁,在这之后会调用该钩子。当这个钩子被调用时,组件DOM已经更新,所以你现在可以执行依赖于DOM的操作。
  • beforeDestroy:实例销毁之前调用。在这一步,实例仍然完全可用。
  • destroyed:Vue实例销毁后调用。调用后,Vue实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。

五、Vue路由与状态管理

1. Vue Router

Vue Router是Vue.js官方的路由管理器。它和Vue.js核心深度集成,让构建单页面应用变得易如反掌。VkS28资讯网——每日最新资讯28at.com

const router = new VueRouter({  routes: [    { path: '/foo', component: Foo },    { path: '/bar', component: Bar }  ]})const app = new Vue({  router}).$mount('#app')

2. Vuex

Vuex是一个专为Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。VkS28资讯网——每日最新资讯28at.com

const store = new Vuex.Store({  state: {    count: 0  },  mutations: {    increment (state) {      state.count++    }  }})

六、Vue实践

1. 创建Vue项目

使用Vue CLI可以快速搭建Vue开发环境。首先,你需要安装Node.js和npm。然后,通过npm安装Vue CLI:VkS28资讯网——每日最新资讯28at.com

npm install -g @vue/cli

创建一个新的Vue项目:VkS28资讯网——每日最新资讯28at.com

vue create my-project

进入项目目录,启动开发服务器:VkS28资讯网——每日最新资讯28at.com

cd my-projectnpm run serve

2. 组件化开发

在Vue中,推荐将UI拆分为独立的、可复用的组件。每个组件都应该包含独立的逻辑和样式。VkS28资讯网——每日最新资讯28at.com

<template>  <div class="todo-item">    {{ todo.text }}  </div></template><script>export default {  props: ['todo']}</script><style scoped>.todo-item {  font-size: 24px;  color: #42b983;}</style>

3. 父子组件通信

在Vue中,父子组件之间的通信是非常常见的。父组件可以通过props向子组件传递数据,子组件可以通过$emit触发事件来向父组件发送消息。VkS28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-98561-0.htmlVue入门指南:从基础到实践

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: len() 函数妙用:十个增强 Python 程序可读性的实践

下一篇: 一篇文章带你了解 JavaScript Object 对象

标签:
  • 热门焦点
  • 6月安卓手机好评榜:魅族20 Pro蝉联冠军

    性能榜和性价比榜之后,我们来看最后的安卓手机好评榜,数据来源安兔兔评测,收集时间2023年6月1日至6月30日,仅限国内市场。第一名:魅族20 Pro好评率:95%5月份的时候魅族20 Pro就是
  • 28个SpringBoot项目中常用注解,日常开发、求职面试不再懵圈

    前言在使用SpringBoot开发中或者在求职面试中都会使用到很多注解或者问到注解相关的知识。本文主要对一些常用的注解进行了总结,同时也会举出具体例子,供大家学习和参考。注解
  • CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • 如何通过Python线程池实现异步编程?

    线程池的概念和基本原理线程池是一种并发处理机制,它可以在程序启动时创建一组线程,并将它们置于等待任务的状态。当任务到达时,线程池中的某个线程会被唤醒并执行任务,执行完任
  • 破圈是B站头上的紧箍咒

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之每年的暑期档都少不了瞄准追剧女孩们的古偶剧集,2021年有优酷的《山河令》,2022年有爱奇艺的《苍兰诀》,今年却轮到小破站抓住了追
  • 花7万退货退款无门:谁在纵容淘宝珠宝商家造假?

    来源:极点商业作者:杨铭在淘宝购买珠宝玉石后,因为保证金不够赔付,店铺关闭,退货退款难、维权无门的比比皆是。&ldquo;提供相关产品鉴定证书,支持全国复检,可以30天无理由退换货。&
  • 年轻人的“职场羞耻感”,无处不在

    作者:冯晓亭 陶 淘 李 欣 张 琳 马舒叶来源:燃次元&ldquo;人在职场,应该选择什么样的着装?&rdquo;近日,在网络上,一个与着装相关的帖子引发关注,在该帖子里,一位在高级写字楼亚洲金
  • 3699元!iQOO Neo8 Pro顶配版今日首销:1TB UFS 4.0同价位唯一

    5月23日,iQOO推出了全新的iQOO Neo8系列,包含iQOO Neo8和iQOO Neo8 Pro两个版本,其中标准版搭载高通骁龙8+,而Pro版更是首发搭载了联发科天玑9200+旗舰
  • 回归OPPO两年,一加赢了销量,输了品牌

    成为OPPO旗下主打性能的先锋品牌后,一加屡创佳绩。今年618期间,一加手机全渠道销量同比增长362%,凭借一加 11、一加 Ace 2、一加 Ace 2V三款爆品,一加
Top