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

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

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

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

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

一、Vue简介

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

二、Vue基础

1. 声明式渲染

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

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

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

2. 组件系统

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

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

你可以通过简单的方式在父组件中使用这个组件:zoZ28资讯网——每日最新资讯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等。zoZ28资讯网——每日最新资讯28at.com

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

4. Vue实例

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

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

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

三、Vue进阶

1. 计算属性和侦听器

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

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

侦听器允许你执行代码响应于数据的变化。当需要在数据变化时执行异步或开销较大的操作时,侦听器非常有用。zoZ28资讯网——每日最新资讯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指令用于列表渲染。zoZ28资讯网——每日最新资讯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代码。zoZ28资讯网——每日最新资讯28at.com

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

4. 表单输入绑定

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

<input v-model="message">

四、Vue实例生命周期

每个Vue实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到DOM并在数据变化时更新DOM等。同时在这个过程中也会调用一些生命周期钩子,给予用户机会在一些特定的时刻加入自己的代码。zoZ28资讯网——每日最新资讯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核心深度集成,让构建单页面应用变得易如反掌。zoZ28资讯网——每日最新资讯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应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。zoZ28资讯网——每日最新资讯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:zoZ28资讯网——每日最新资讯28at.com

npm install -g @vue/cli

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

vue create my-project

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

cd my-projectnpm run serve

2. 组件化开发

在Vue中,推荐将UI拆分为独立的、可复用的组件。每个组件都应该包含独立的逻辑和样式。zoZ28资讯网——每日最新资讯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触发事件来向父组件发送消息。zoZ28资讯网——每日最新资讯28at.com

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

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

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

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

标签:
  • 热门焦点
  • vivo TWS Air开箱体验:真轻 臻好听

    在vivo S15系列新机的发布会上,vivo的最新款真无线蓝牙耳机vivo TWS Air也一同发布,本次就这款耳机新品给大家带来一个简单的分享。外包装盒上,vivo TWS Air保持了vivo自家产
  • 不容错过的MSBuild技巧,必备用法详解和实践指南

    一、MSBuild简介MSBuild是一种基于XML的构建引擎,用于在.NET Framework和.NET Core应用程序中自动化构建过程。它是Visual Studio的构建引擎,可在命令行或其他构建工具中使用
  • JVM优化:实战OutOfMemoryError异常

    一、Java堆溢出堆内存中主要存放对象、数组等,只要不断地创建这些对象,并且保证 GC Roots 到对象之间有可达路径来避免垃 圾收集回收机制清除这些对象,当这些对象所占空间超过
  • 为什么你不应该使用Div作为可点击元素

    按钮是为任何网络应用程序提供交互性的最常见方式。但我们经常倾向于使用其他HTML元素,如 div span 等作为 clickable 元素。但通过这样做,我们错过了许多内置浏览器的功能。
  • 破圈是B站头上的紧箍咒

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之每年的暑期档都少不了瞄准追剧女孩们的古偶剧集,2021年有优酷的《山河令》,2022年有爱奇艺的《苍兰诀》,今年却轮到小破站抓住了追
  • 微博大门常打开,迎接海外画师漂洋东渡

    作者:互联网那些事&ldquo;起猛了,我能看得懂日语了&rdquo;。&ldquo;为什么日本人说话我能听懂?&rdquo;&ldquo;中文不像中文,日语不像日语,但是我竟然看懂了&rdquo;&hellip;&hell
  • iQOO 11S评测:行业唯一的200W标准版旗舰

    【Techweb评测】去年底,iQOO推出了“电竞旗舰”iQOO 11系列,作为一款性能强机,该机不仅全球首发2K 144Hz E6全感屏,搭载了第二代骁龙8平台及144Hz电竞
  • Android 14发布:首批适配机型公布

    5月11日消息,谷歌在今天凌晨举行了I/O大会,本次发布会谷歌带来了自家的AI语言模型PaLM 2、谷歌Pixel Fold折叠屏、谷歌Pixel 7a手机,同时发布了Androi
  • 2021中国国际消费电子博览会与青岛国际软件融合创新博览会新闻发布会隆重举行

    9月18日,2021中国国际消费电子博览会与青岛国际软件融合创新博览会新闻发布会在青岛国际新闻中心隆重举行。发布会上青岛市政府领导联袂出席,对本次双展会情
Top