vue常用指令的基本使用

简介: 一.vue的简介1.什么是vue官方给出的概念:是一套用于构建用户界面的前端框架2. vue 的特性vue 框架的特性,主要体现在如下两方面:(1)数据驱动视图在使用了 vue 的页面中,vue 会监听数据的变化,从而自动重新渲染页面的结构。示意图如下:

vue常用指令的基本使用



一.vue的简介


1.什么是vue


官方给出的概念:是一套用于构建用户界面的前端框架


2. vue 的特性


vue 框架的特性,主要体现在如下两方面:

(1)数据驱动视图

在使用了 vue 的页面中,vue 会监听数据的变化,从而自动重新渲染页面的结构。示意图如下:


d8d11e8689f542e5b360c68ee6404477.png


①好处:当页面数据发生变化时,页面会自动重新渲染!

②注意:数据驱动视图是单向的数据绑定。


(2)双向数据绑定

①在填写表单时,双向数据绑定可以辅助开发者在不操作 DOM 的前提下,自动把用户填写的内容同步到数据源中。示意图如下:



91122eec3eef4398a828e7497f88cf4e.png


②好处:开发者不再需要手动操作 DOM 元素,来获取表单元素最新的值!


3.MVVM


(1)MVVM 是 vue 实现数据驱动视图和双向数据绑定的核心原理。MVVM 指的是 Model、View 和 ViewModel,它把每个 HTML 页面都拆分成了这三个部分,如图所示:


1cb5ff12303748b8a1bf7657d6c08116.png



(2)ViewModel 作为 MVVM 的核心,是它把当前页面的数据源(Model)和页面的结构(View)连接在了一起


4f717f11ab1c4817afc80664df3b2540.png


①当数据源发生变化时,会被 ViewModel 监听到,VM 会根据最新的数据源自动更新页面的结构


②当表单元素的值发生变化时,也会被 VM 监听到,VM 会把变化过后最新的值自动同步到 Model 数据源中


二.vue的基本使用


1.基本使用步骤


①导入 vue.js 的 script 脚本文件

②在页面中声明一个将要被 vue 所控制的 DOM 区域

③创建 vm 实例对象(vue 实例对象)


543271181c4e4d8194b405fb49f25b82.png


2.基本代码与 MVVM 的对应关系


c4733b7c009c48fe9393b4509c8848f8.png


三.vue 的指令与过滤器


1.指令的概念


指令(Directives)是 vue 为开发者提供的模板语法,用于辅助开发者渲染页面的基本结构。

vue 中的指令按照不同的用途可以分为如下 6 大类:


1.1 内容渲染指令

内容渲染指令用来辅助开发者渲染 DOM 元素的文本内容。常用的内容渲染指令有如下 3 个:


<!-- 1.导入vue的库文件,在window全局就有了Vue这个构造函数 -->
    <script src="./lib/vue-2.6.12.js"></script>
    <!-- 2.创建Vue的实例对象 -->
    <script>
        // 创建Vue的实例对象
        const vm = new Vue({
            // el属性是固定的写法,表示当前vm实例要控制页面上的哪个区域,接收的值是一个选择器
            el: '#app',
            // data对象就是要渲染到页面上的数据
            data: {
                username: 'zhangsan'
            }
        })
    </script>


下面的例子中的数据都来自于上面创建的vue

⚫ v-text


50a056213ecd4137a12b60e0bfb00e4c.png


⚫ {{ }}

vue 提供的 {{ }} 语法,专门用来解决 v-text 会覆盖默认文本内容的问题。这种 {{ }} 语法的专业名称是插值表达

式(英文名为:Mustache)。


0015d065defe40b9ad309525075c47bb.png


⚫ v-html

v-text 指令和插值表达式只能渲染纯文本内容。如果要把包含 HTML 标签的字符串渲染为页面的 HTML 元素,

则需要用到 v-html 这个指令:


<p v-html="info"></p>
const vm = new Vue({
    // el属性是固定的写法,表示当前vm实例要控制页面上的哪个区域,接收的值是一个选择器
    el: '#app',
    // data对象就是要渲染到页面上的数据
    data: {
        info: '<h1 style="color: red">欢迎学习vue</h1>'
    }
})


a2e06ebbee3d4eb0ac7c2012469af0bd.png


1.2 属性绑定指令


(1)如果需要为元素的属性动态绑定属性值,则需要用到 v-bind 属性绑定指令。用法示例如下:


acc45dbf909e4e2f8cadcf588c854baf.png


(2)属性绑定指令的简写形式

由于 v-bind 指令在开发中使用频率非常高,因此,vue 官方为其提供了简写形式(简写为英文的 : )


859ee57c5f854ff08e04cf46448073ea.png


(3)在 vue 提供的模板渲染语法中,除了支持绑定简单的数据值之外,还支持 Javascript 表达式的运算,例如:


0643c3453067453f819dafc4d479d765.png


1.3 事件绑定指令

(1)vue 提供了 v-on 事件绑定指令,用来辅助程序员为 DOM 元素绑定事件监听。语法格式如下:


<div id="app">
 <p>count的值是:{{ count }}</p>
 <button v-on:click="add">+1按钮</button>
<div>
        const vm = new Vue({
          el: '#app',
          data: {
                count: 0
            },
          methods: {
            add() {
              this.count += 1      


注意:原生 DOM 对象有 onclick、oninput、onkeyup 等原生事件,替换为 vue 的事件绑定形式后,

分别为:v-on:click、v-on:input、v-on:keyup

(2)由于 v-on 指令在开发中使用频率非常高,因此,vue 官方为其提供了简写形式(简写为英文的 @ )


b5510a1d5f434e93bb2b8f40b874a0a2.png


(3)事件参数对象

在原生的 DOM 事件绑定中,可以在事件处理函数的形参处,接收事件参数对象 event。同理,在 v-on 指令

(简写为 @ )所绑定的事件处理函数中,同样可以接收到事件参数对象 event,示例代码如下:


8fcb8c14793f438cb59f134b432f3fef.png


(5)绑定事件并传参

在使用 v-on 指令绑定事件时,可以使用 ( ) 进行传参,示例代码如下:


3f8ed9bb4bf344539e317bb30ca626ee.png


(6)$event

$event 是 vue 提供的特殊变量,用来表示原生的事件参数对象 event。$event 可以解决事件参数对象 event

被覆盖的问题。示例用法如下:


7bf157b6b83c4f72b75fad4c1e58cfd4.png


(7)事件修饰符

vue 提供了事件修饰符的概念,来辅助程序员更方便的对事件的触发进行控制。常用的 5 个事件修饰符如下:


15f3a158b7a34a4887cc959436a88775.png


112f0864c7a54849843f481974799bd7.png


注意:上面的onLinkClick为自己定义的方法


1.4 双向绑定指令


vue 提供了 v-model 双向数据绑定指令,用来辅助开发者在不操作 DOM 的前提下,快速获取表单的数据。


80086ed92c91483c97d4c9605a7fd1bc.png

注意:表单和Vue中data的数据,任一发生改变都会同步发生变化


1.5 条件渲染指令


cfd692e430864a5e821db296cba503d9.png


1.6 列表渲染指令


(1)vue 提供了 v-for 列表渲染指令,用来辅助开发者基于一个数组来循环渲染一个列表结构。v-for 指令需要使用 item in items 形式的特殊语法,其中:

⚫ items 是待循环的数组

⚫ item 是被循环的每一项


ca9667740e49490593d3bbc5f0c665af.png


(2)v-for 指令还支持一个可选的第二个参数,即当前项的索引。语法格式为 (item, index) in items,示例代码如下:


b482396810aa49a99c8fcfc0bfc55d80.png

目录
相关文章
|
2月前
|
JavaScript
Vue中如何实现兄弟组件之间的通信
在Vue中,兄弟组件可通过父组件中转、事件总线、Vuex/Pinia或provide/inject实现通信。小型项目推荐父组件中转或事件总线,大型项目建议使用Pinia等状态管理工具,确保数据流清晰可控,避免内存泄漏。
300 2
|
1月前
|
缓存 JavaScript
vue中的keep-alive问题(2)
vue中的keep-alive问题(2)
280 137
|
5月前
|
人工智能 JavaScript 算法
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
769 0
|
5月前
|
JavaScript UED
用组件懒加载优化Vue应用性能
用组件懒加载优化Vue应用性能
|
4月前
|
人工智能 JSON JavaScript
VTJ.PRO 首发 MasterGo 设计智能识别引擎,秒级生成 Vue 代码
VTJ.PRO发布「AI MasterGo设计稿识别引擎」,成为全球首个支持解析MasterGo原生JSON文件并自动生成Vue组件的AI工具。通过双引擎架构,实现设计到代码全流程自动化,效率提升300%,助力企业降本增效,引领“设计即生产”新时代。
403 1
|
4月前
|
JavaScript 安全
在 Vue 中,如何在回调函数中正确使用 this?
在 Vue 中,如何在回调函数中正确使用 this?
259 0
|
5月前
|
JavaScript 前端开发 开发者
Vue 自定义进度条组件封装及使用方法详解
这是一篇关于自定义进度条组件的使用指南和开发文档。文章详细介绍了如何在Vue项目中引入、注册并使用该组件,包括基础与高级示例。组件支持分段配置(如颜色、文本)、动画效果及超出进度提示等功能。同时提供了完整的代码实现,支持全局注册,并提出了优化建议,如主题支持、响应式设计等,帮助开发者更灵活地集成和定制进度条组件。资源链接已提供,适合前端开发者参考学习。
465 17
|
5月前
|
JavaScript 前端开发 UED
Vue 表情包输入组件实现代码及详细开发流程解析
这是一篇关于 Vue 表情包输入组件的使用方法与封装指南的文章。通过安装依赖、全局注册和局部使用,可以快速集成表情包功能到 Vue 项目中。文章还详细介绍了组件的封装实现、高级配置(如自定义表情列表、主题定制、动画效果和懒加载)以及完整集成示例。开发者可根据需求扩展功能,例如 GIF 搜索或自定义表情上传,提升用户体验。资源链接提供进一步学习材料。
273 1
|
5月前
|
存储 JavaScript 前端开发
如何高效实现 vue 文件批量下载及相关操作技巧
在Vue项目中,实现文件批量下载是常见需求。例如文档管理系统或图片库应用中,用户可能需要一次性下载多个文件。本文介绍了三种技术方案:1) 使用`file-saver`和`jszip`插件在前端打包文件为ZIP并下载;2) 借助后端接口完成文件压缩与传输;3) 使用`StreamSaver`解决大文件下载问题。同时,通过在线教育平台的实例详细说明了前后端的具体实现步骤,帮助开发者根据项目需求选择合适方案。
504 0
|
5月前
|
JavaScript 前端开发 UED
Vue 项目中如何自定义实用的进度条组件
本文介绍了如何使用Vue.js创建一个灵活多样的自定义进度条组件。该组件可接受进度段数据数组作为输入,动态渲染进度段,支持动画效果和内容展示。当进度超出总长时,超出部分将以红色填充。文章详细描述了组件的设计目标、实现步骤(包括props定义、宽度计算、模板渲染、动画处理及超出部分的显示),并提供了使用示例。通过此组件,开发者可根据项目需求灵活展示进度情况,优化用户体验。资源地址:[https://pan.quark.cn/s/35324205c62b](https://pan.quark.cn/s/35324205c62b)。
248 0