Vus.js前端技术框架

一、Vue.js前端技术介绍

Vue.js是一种流行的前端JavaScript框架,用于构建交互式的用户界面。它是由尤雨溪(Evan You)开发的一个开源项目,并在GitHub上发布了源代码。Vue.js提供了一种响应式的数据绑定机制,使得开发者能够轻松地构建复杂的单页面应用(SPA)和动态网页。

以下是Vue.js的一些主要特点和功能:

1. 响应式数据绑定

Vue.js使用了一个叫做"Vue实例"的对象来管理应用状态,并与DOM元素进行双向绑定,当数据发生变化时,页面会自动更新。这种响应式的数据绑定机制使得开发者能够更加高效地开发和维护应用程序。

 2. 组件化开发 

Vue.js鼓励开发者将页面拆分成多个可复用的组件,每个组件都包含自己的HTML模板、CSS样式和JavaScript逻辑。组件化开发使得代码更加清晰、结构更加灵活,同时也提高了代码的复用性和可维护性。

 3. 虚拟DOM

Vue.js使用虚拟DOM来提高渲染性能。虚拟DOM是一个轻量级的JavaScript对象,它表示真实DOM的副本。当数据发生变化时,Vue.js会先更新虚拟DOM,然后通过比较虚拟DOM和真实DOM的差异,只更新需要变化的部分,从而减少了DOM操作的次数,提高了页面的渲染性能。

4. 指令和过滤器

Vue.js提供了丰富的指令(如v-if、v-for、v-bind等)和过滤器(如currency、uppercase等),使得开发者能够更加方便地操作和处理DOM元素。

5. 生命周期钩子

Vue.js提供了一系列的生命周期钩子函数,使得开发者能够在不同阶段对组件进行操作和控制,例如在组件创建、挂载、更新和销毁等时机执行相应的逻辑。

 6. 插件系统

Vue.js拥有一个灵活的插件系统,开发者可以通过插件扩展Vue.js的功能。Vue.js生态系统中已经存在着大量的第三方插件,可以帮助开发者解决各种常见的问题。

总的来说,Vue.js是一个简单易用、灵活高效的前端框架,它的设计理念注重可读性和可维护性,适用于构建中小型的单页面应用和动态网页。无论是初学者还是有经验的开发者,都可以通过学习和使用Vue.js来提高前端开发效率。

二、vue.js的开发模式

 Vue.js 的开发模式可以分为以下几种:

 1. 传统开发模式

在传统的开发模式中,Vue.js 被直接引入到 HTML 文件中作为一个 JavaScript 库来使用。开发者可以通过编写 Vue 组件来实现页面的交互逻辑,并将其嵌入到 HTML 中的指定位置。这种模式适用于简单的应用场景。

 2. 单文件组件开发模式

在单文件组件开发模式中,Vue.js 使用了一种特殊的文件格式(.vue),其中包含了模板、脚本和样式。开发者可以使用这种格式来组织应用的代码,每个组件都被封装在一个单独的文件中,便于维护和复用。这种模式适用于较为复杂的应用场景。

 3. MVVM 模式

Vue.js 借鉴了 MVVM(Model-View-ViewModel)的设计模式。在 MVVM 模式中,模型(Model)代表数据和业务逻辑,视图(View)代表用户界面,而视图模型(ViewModel)则是连接模型和视图的桥梁,负责处理视图的展示逻辑。Vue.js 的响应式数据绑定和指令系统使得开发者可以轻松地实现 MVVM 模式。

 4. 组件化开发模式

Vue.js 鼓励开发者将应用拆分为多个可复用的组件。每个组件都有自己的模板、脚本和样式,可以独立地进行开发和维护。通过组件化开发模式,开发者可以提高代码的可维护性和复用性,同时也方便团队协作。

总的来说,Vue.js 的开发模式是灵活多样的,可以根据项目的规模和需求选择合适的模式进行开发。无论是传统开发模式、单文件组件开发模式、MVVM 模式还是组件化开发模式,Vue.js 都提供了丰富的特性和工具,帮助开发者构建高效、可维护的 Web 应用程序。

三、vue.js 常用开发工具

Vue.js 是一种流行的 JavaScript 框架,用于构建用户界面。以下是一些常用的 Vue.js 开发工具:

1. Visual Studio Code(VS Code)

它是一个轻量级的代码编辑器,提供了丰富的 Vue.js 插件和扩展,可以帮助你编写、调试和管理 Vue.js 项目。

2. Vue Devtools

这是一个浏览器插件,可作为开发者工具使用。它提供了一个便捷的方式来检查组件层次结构、状态和事件,以及性能分析和调试 Vue.js 应用程序。

3. Vue CLI

Vue CLI 是一个命令行工具,用于快速搭建和管理 Vue.js 项目。它提供了一套可配置的脚手架,使你可以轻松创建新的 Vue.js 项目,并集成了常用的构建工具和插件。

4. Vue Router Devtools

这是一个用于 Vue Router 的浏览器插件,可帮助你调试和分析 Vue.js 路由器的状态和导航。

5. Vuex Devtools

这是一个用于 Vuex(Vue.js 的状态管理库)的浏览器插件,可帮助你监视和调试 Vuex 存储的状态变化。

6. Webpack

Webpack 是一个模块打包工具,可与 Vue.js 一起使用。它提供了用于将 Vue.js 组件、样式和其他资源打包到最终产品的配置和功能。

除了这些工具,还有很多其他的 Vue.js 开发工具和插件可供选择,具体选择取决于你的需求和个人偏好。

四、vue.js的安装使用

Vue.js的安装和使用有以下几种方式: 

1. CDN引入

通过在HTML文件中引入Vue.js的CDN链接,可以直接在浏览器中使用Vue.js。这是最简单的方式,适合于快速体验和学习Vue.js,但不适合于大型项目的开发。

 2. npm安装

使用npm(Node Package Manager)包管理工具,在命令行中运行以下命令安装Vue.js:

 然后,在JavaScript文件中使用import语句导入Vue.js: 

3. Vue CLI(命令行界面)

Vue CLI是一个官方提供的脚手架工具,用于快速搭建Vue.js项目。首先,需要全局安装Vue CLI:

 

 然后,使用Vue CLI创建一个新的Vue.js项目:

 

 进入项目目录,并运行以下命令启动开发服务器:

 

 4. Vue脚手架模板

 Vue脚手架模板是一种更加灵活的方式,可以根据项目需求选择几个预定义的模板。首先,需要全局安装Vue脚手架:

 

 然后,根据需要选择一个模板并创建项目:

 

 进入项目目录,并运行以下命令启动开发服务器:

 

 以上是Vue.js的几种常用安装和使用方式,可以根据个人需求选择适合自己的方式来开始使用Vue.js。

五、vue实例常用到的构造选项

Vue 实例常用的构造选项包括以下几个:

1. data

用于定义 Vue 实例的响应式数据。可以是一个对象,也可以是一个函数,返回一个对象。在组件中,data 必须是一个函数。

2. methods

用于定义 Vue 实例的方法。可以是普通的 JavaScript 函数,也可以是对象中的方法。

3. computed

用于定义计算属性。计算属性是基于已有的响应式数据计算得出的属性,具有缓存机制。

4. watch

用于观察 Vue 实例的数据变化。可以监听单个属性的变化,也可以监听多个属性的变化。

5. props

用于接收父组件传递的数据。在组件中使用 props 选项声明需要接收的数据,并通过组件标签的属性传递数据。

6. created

在 Vue 实例创建完成后调用的钩子函数。在这个阶段,实例已经完成了数据观测等初始设置。

7. mounted

在 Vue 实例挂载到 DOM 元素后调用的钩子函数。在这个阶段,实例已经完成了模板的编译和渲染,可以访问到 DOM 元素。

8. template

用于定义 Vue 实例的模板,即要渲染的内容。可以是一个字符串模板,也可以是一个已存在的 DOM 元素,或者是 Vue 的组件。

9. el

 表示唯一根标签,用于指定一个页面中已存在的DOM元素来挂载Vue实例,即通过class或id选择器将页面DOM元素与Vue实例进行绑定。el的类型可以是string,也可以是HTMLElement。

这些构造选项可以根据实际需求进行组合和配置,帮助开发者构建出符合需求的 Vue 实例。

六、Vue常用指令

1. v-if

 条件渲染,根据表达式的值进行显示或隐藏。

 

2. v-for

 循环渲染,根据指定的数据集合进行重复渲染。

 

3. v-bind

 动态绑定属性或属性值。

 

 在简写方式中可以直接使用冒号:

4. v-on

 绑定事件监听器。

 

在简写方式中可以直接使用 @ 符号:

5 .v-model

双向数据绑定。

6 .v-show 

根据表达式的值进行显示或隐藏,与 v-if 不同的是,v-show 只是控制元素的 display 样式。 

7 .v-text 

设置元素的文本内容。 

8 .v-html  

设置元素的 HTML 内容。 

这些都是常见的 Vue.js 指令,你可以根据实际需求选择使用。除此之外,Vue.js 还有很多其他的指令,如 computed、watch、methods 等,需要更深入的学习和实践 

七、vue事件修饰符

1 .stop

阻止事件冒泡。 

2 .prevent 

阻止默认行为。 

3 .capture 

添加事件侦听器时使用捕获模式。 

4 .self 

只当事件是从侦听器绑定的元素本身触发时才触发回调。 

5 .once 

事件只触发一次。 

6 .passive 

滑动事件的默认行为(即滚动)会立即触发,而不会等待执行完事件处理程序。 

7 .keyCode 

只当事件是从特定键触发时才触发回调。 

这些事件修饰符可以组合使用,例如: 

这些事件修饰符可以在任何事件上使用,例如 @click、@keydown、@keyup 等。你可以选择适当的事件修饰符来满足你的需求。 

八、 vue计算属性与监听属性

Vue.js 是一种流行的 JavaScript 框架,它提供了许多便捷的功能来处理数据和状态的变化。在 Vue.js 中,计算属性和监听属性是两种常用的属性类型,用于处理数据的衍生和响应。 

1.  计算属性(Computed Properties)

计算属性是基于已有的数据计算得出的属性,它会根据依赖的数据自动更新。计算属性可以像普通属性一样使用,在模板中直接调用,但实际上它是一个函数。计算属性的值会被缓存,只有当它依赖的数据发生变化时才会重新计算。这个特性使得计算属性非常适合处理复杂的逻辑操作或需要频繁使用的数据。 

以下是计算属性的使用方式示例: 

在上述示例中,计算属性 computedProperty 的值是基于 data 的值计算得出的,当 data 发生变化时,computedProperty 会自动更新。 

2.  监听属性(Watch)

监听属性允许你观察某个数据的变化,并在数据变化时执行相应的操作。监听属性通过指定要监听的属性和对应的处理函数来工作。当被监听的属性发生变化时,Vue.js 会自动调用指定的处理函数。 

以下是监听属性的使用方式示例: 

在上述示例中,我们通过 watch 定义了对 data 的监听,当 data 发生变化时,会执行相应的处理函数,并传入新旧值。

需要注意的是,计算属性适合处理简单的数据衍生,而监听属性适合处理复杂的、异步的操作或需要立即响应的情况。在选择使用计算属性还是监听属性时,需根据具体场景进行判断。

九、 Vue项目化

Vue 项目化通常指把一个 Vue.js 应用程序的代码和资源组织成一个项目。

在 Vue 项目中,通常会有如下文件和目录结构:

其中,public/ 目录存放公共资源,例如 index.html 文件、页面图标等;src/ 目录存放源代码,包括组件、路由、状态管理和视图等;package.json 文件是项目的配置文件,记录了项目的相关信息和依赖库;babel.config.js 是 Babel 编译器的配置文件,主要用于将 ES6 语法转换为浏览器可以识别的语法;vue.config.js 是 Vue.js 的配置文件,可以通过它来自定义构建流程和配置开发服务器等。

在 Vue 项目中,通常还会使用一些工具和库来提高开发效率和代码质量,例如:

1. vue-cli 

Vue.js 的脚手架工具,可以快速搭建一个基本的 Vue 项目。

2. eslint

JavaScript 代码检查工具,可以帮助开发者规范代码风格和避免常见错误。

3. prettier 

代码格式化工具,可以自动美化代码风格。

4. vue-router

Vue.js 的路由管理库,可以帮助开发者实现页面之间的跳转和状态管理。

5. vuex

Vue.js 的状态管理库,可以帮助开发者管理应用程序的状态和数据。

除此之外,还有许多其他的工具和库可供选择,可以根据项目的实际需求进行选择和配置。

十、组件的简介

组件是 Vue.js 中最基本的构建块之一,用于将界面分割成独立、可复用的代码块。它是一种自定义元素,可以包含 HTML 结构、样式和行为,并且可以在应用程序中多次使用。

Vue 组件特性

1. 封装性

组件允许将相关的 HTML、CSS 和 JavaScript 代码封装在一个独立的作用域内,避免全局污染和命名冲突。

2. 复用性

组件可以被多次使用,提高了代码的复用性和维护性,减少了重复编写相似代码的工作量。

3. 可组合性

组件可以与其他组件组合使用,形成更复杂的界面和功能。

4. 可维护性

通过将界面拆分成多个组件,可以使代码更易于理解、测试和维护。

5. 响应性

组件可以使用 Vue 的响应式系统来追踪数据的变化,当数据发生变化时,组件会自动更新对应的视图。

在 Vue 中,组件可以通过全局注册或局部注册的方式来使用。全局注册的组件可以在整个应用程序中使用,而局部注册的组件只能在其父组件中使用。

组件的使用

1. 定义组件

根据应用程序的需求,可以通过 Vue.component() 方法或者单文件组件的方式来定义组件。其中,Vue.component() 方法是全局注册组件的方式,而单文件组件则是局部注册组件的方式。

2. 引入组件 

在需要使用组件的地方,可以通过 import 或 require 的方式引入组件。

3. 注册组件

在父组件中,需要将子组件注册为自己的子组件,以便于在模板中使用。这可以通过 components 选项来实现。

4. 使用组件

在模板中,可以使用自定义的组件标签来引用已注册的组件,并传递必要的参数。

1. 在components 文件夹新建组件页面

2. 在需要此组件的页面调用组件

需要注意的是,组件的使用方式还与组件的类型和注册方式有关。例如,如果使用全局注册的方式来定义组件,则可以在任意组件中使用;而如果使用局部注册的方式来定义组件,则只能在其父组件及其子组件中使用。同时,如果要在动态创建的组件中使用组件,则需要使用 Vue.extend() 方法来创建一个新的组件构造器,并将其作为参数传递给 $mount() 方法来渲染组件。

总之,在 Vue.js 中使用组件是一种非常常见和重要的技术,它可以帮助我们更好地组织应用程序的代码结构,提高代码的复用性和可维护性。

组件之间的通信

在 Vue.js 中,组件之间的通信可以通过不同的方式实现,主要包括以下几种:

1. props 和事件

父组件可以通过 props 属性向子组件传递数据,子组件可以通过事件($emit)向父组件发送消息。这种单向数据流的方式适用于父子组件之间的简单通信。

父组件通过 prop 将数据传递给子组件:

子组件通过事件向父组件发送消息:

2. $emit 和 $on

在 Vue 实例中,可以使用 $emit 方法触发一个自定义事件,并使用 $on 方法监听这个事件。通过这种方式,不同组件之间可以直接进行通信。

3. Vuex

Vuex 是 Vue.js 的状态管理库,用于在组件之间共享状态。通过在 Vuex 的 store 中存储数据,不同组件可以通过提交 mutation 或分发 action 来修改或获取这些数据,实现了组件之间的集中式状态管理。

4. provide 和 inject

父组件可以通过 provide 选项提供数据,而子组件则可以通过 inject 选项注入这些数据。这种方式适用于祖先组件和后代组件之间的通信,但不适用于跨级组件。

这些方式各有优缺点,选择合适的通信方式取决于具体的场景和需求。在实际开发中,根据组件之间的关系和数据流动的方向,选择合适的通信方式可以更好地组织代码,提高开发效率和应用程序的性能。

十一、路由的基本使用

路由概念

路由(Route)是指在 Web 开发中,根据用户访问的 URL 地址,将请求定向到不同的页面或功能模块的机制。在前端开发中,路由通常用于实现单页应用(SPA)中不同视图之间的切换和管理。

在 Vue.js 中,Vue Router 是官方提供的路由管理器,用于构建单页应用。通过 Vue Router,可以实现以下功能:

1. 路由映射

将 URL 地址与相应的组件或视图进行映射,当用户访问特定的 URL 时,显示对应的组件内容。

2. 嵌套路由

支持子路由的概念,可以在父路由下定义子路由,实现页面的嵌套展示和管理。

3. 路由参数

支持在 URL 中传递参数,例如动态路由参数、查询参数等,从而实现根据不同的参数显示不同的内容。

4. 导航守卫

提供了全局的导航守卫和路由独享的守卫,可以在路由切换前后执行一些逻辑,例如权限验证、页面加载状态管理等。

5. 路由状态管理

配合 Vuex 或其他状态管理工具,可以实现路由状态的管理和响应式更新。

在 Vue.js 中使用 Vue Router,通常需要进行以下步骤:

1. 安装 Vue Router:

2. 创建路由配置文件,并定义路由映射关系:

3. 将路由配置应用到 Vue 实例中:

 

4. 在组件中使用路由:

 

通过以上步骤,就可以在 Vue.js 中使用 Vue Router 实现路由的基本功能,实现单页应用的页面路由管理。

路由传参及获取参数 

在 Vue Router 中,可以通过不同的方式传递参数,并在目标组件中获取这些参数。以下是几种常见的路由传参和获取参数的方式:

1. 动态路由参数

使用动态路由参数,可以在路由定义时指定占位符来表示参数,并在 URL 中传递具体的值。

定义路由:

跳转路由并传递参数:

在目标组件中获取参数:

 

2. 查询参数

使用查询参数,可以在 URL 中以键值对的形式传递参数,通过$route.query来获取参数。

跳转路由并传递参数:

在目标组件中获取参数:

 

3. 命名路由

为特定路由配置命名,可以在编程式导航或模板中直接使用路由名称来跳转路由,并传递参数。

定义命名路由:

跳转命名路由并传递参数:

在目标组件中获取参数:

 

这些方式可以根据具体的需求和场景选择使用。在目标组件中获取参数时,可以使用this.$route.params获取动态路由参数,使用this.$route.query获取查询参数。可以在组件的created()生命周期钩子或其他需要的地方获取参数,并对其进行处理。

十二、Axios插件

什么是Axios

Axios 是一个基于 Promise 的 HTTP 客户端,用于在浏览器和 Node.js 中发送 HTTP 请求。它是一个流行的第三方库,可以方便地进行数据交互和网络请求。

Axios 提供了以下主要功能:

1. 支持各种请求类型

Axios 支持常见的 HTTP 请求方法,例如 GET、POST、PUT、DELETE 等。

2. Promise 风格的 API

Axios 使用 Promise 来处理异步操作,可以使用.then().catch()等方法处理请求的响应和错误。

3. 请求和响应拦截

可以使用 Axios 的拦截器,在请求发送前和响应返回后对请求和响应进行拦截、处理和修改。

4. 请求取消

Axios 允许取消正在进行的请求,可以通过创建一个取消令牌(cancel token)来实现请求的取消。

5. 客户端支持

Axios 可以在浏览器和 Node.js 中使用,并提供了一致的 API。

axios的使用

使用 Axios 发送 HTTP 请求

1. 安装 Axios

2. 引入 Axios

3. 发送请求

Axios 还提供了其他的方法和配置选项,用于处理请求头、设置超时、处理请求数据等。可以查阅 Axios 的官方文档获取更详细的信息和示例用法。

总之,Axios 是一个功能强大且易于使用的 HTTP 客户端,可以简化在前端和后端进行数据交互的过程,让开发者更加便捷地发送和处理 HTTP 请求。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值