热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

02、Vue.js指令

2019独角兽企业重金招聘Python工程师标准1、插值在Vue.js指令学习之前,先简单学习一下Vue插值语法:{{}},将vue

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1、插值

    在Vue.js指令学习之前,先简单学习一下Vue插值

    语法:{{ }},将vue 实例中的数据 写入到页面对应的位置。下面代码中hello、msg、num等均是在vue的data中定义的变量。

1.1 文本插值

{{hello}}

1.2 HTML 标签插值

    Vue.js中没有直接的语法可以完成HTML标签插值,需要Vue指令 v-html方法实现。

1.3 简单的JS脚本

    在页面中加载数据时,可以实现简单的运算和判断

{{ num%2 }}

{{ num>2 }}

{{ num==1? msg:hello }}
2、指令

    Vue的指令以 v- 开头,以元素的属性方式存在的。官网给出了十三条指令,具体见下文。

    指令参数,参数以 ‘:’ 为关键字,写在指令的后面,并接受一个具有实际意义的参数值,如:v-on:click =""

    指令修饰符:判断事件的触发条件,以 ‘.’ 为关键字写在指令和参数的后面,并接受一个具有实际意义参数或者键盘码。

2.01 v-text

    v-text 作用和 {{ }} 相同,在指定的位置写入变量参数,纯文本。下面两行代码效果相同。其中,hello是变量。

{{hello}}

2.02 v-html

    v-html 用于在指定标签中写入html 值(能够解析标签)

2.03 v-on

    用于对指定元素进行事件绑定

    只可绑定 Vue 实例中的方法

    方法中 无法直接访问 vue 实例中的属性

    可以简写为 ‘@’

2.04 v-bind

    属性绑定

    表单标签 和 所有的html 的元素标签进行属性绑定,不局限于HTML 的原始属性

    只完成数据到页面的操作(单向操作)

    可以简写为  ‘:’ 

2.05 v-model

    数据双向处理

    只能在 表单标签 ,局限于 表单标签的填值属性 (value)

    会完成数据到页面 和 页面到数据的操作 (双向数据绑定)

    在第一篇博客中《Vue.js 开篇---Vue的介绍及准备工作》的事例中,之所以在文本框改动数据,页面会同步更新,就是因为使用了 v-model 来绑定 input 文本框的值。

2.06 v-pre

    html 中

以用户格式进行输出

    v-pre 以用户格式进行输出

2.07 v-cloak

    用于解决页面的闪烁问题,解决 数据绑定前页面代码的 显示

2.08 v-once

    对元素只做一次渲染

    后续所对应的数据发生变化时,不会在产生改变

2.09 v-if

    用于判断该属性所对应的元素是否正常显示

    在渲染模板时 判断 指定的元素是否需要渲染(创建元素)

    v-if可以引导 v-else 和 v-else-if 的使用

2.10 v-show

    用于判断该属性所对应的元素是否正常显示

    在元素挂载时 判断指定的元素 是否要显示 (display: none;)

2.11 v-else 和 v-else-if

    `v-else 和 v-else-if 的使用必须依赖于v-if 指令

2.12 v-for

    对元素进行循环,可以 循环数组、循环对象和数值

3. 具体使用

    Vue 对页面的元素处理采用虚拟DOM的格式进行实例化。

    vue 2.0.0后禁止在body及body外的其它元素中定义容器。这样可以保证页面代码的完整性。

    容器定义完成后,本身会和指定的容器产生关联,在容器外所定义的代码不能访问容器实例中的data数据。

3.1 v-for

    v-for 可以循环数组、对象和数字。注意:v-for 不同版本的变化

        vue 1.x v-for = “(k,v) in arr” 默认输出的是k,v-for = “k in arr ”;

        vue 2.x v-for = “(v,k) in arr” 默认输出的是v,v-for = “ v in arr ”。





  • {{k}}:{{v}}
  • {{k}}:{{v}}
  • {{k}}:{{v}}


3.2 v-cloak

    用于解决页面的闪烁问题:解决数据绑定前页面代码的显示。如下图的{{info}}。

                    

    如果下段代码在Chrome执行的时候没出现上图所示的效果,建议在火狐浏览器上测试一下。





{{info}}



    在上段代码添加两处操作:

{{msg}}

    结果如下图所示:

                

 

3.2 v-on

    用于对指定元素进行事件绑定,可以简写 ‘@’。

    v-on:事件名=“方法名()”,可以简写成  @事件名=“方法名()”。

    方法定义在 methods 中。






{{msg}}


               

3.2.1 事件冒泡和默认事件

    谈到事件时,就得说一说 事件冒泡和默认事件的处理。在 Vue.js 中事件冒泡使用 .stop 和 .self 处理,默认事件使用 .prevent 处理。具体可以参考我的《Vue.js---事件冒泡和默认事件处理》。

3.2.2 事件对象 $event

    vue.js可以识别的事件对象是 $event。@click=“方法名($event)”。在函数中可以传出参数打印看看该事件对象。

3.2.3 自定义修饰符

    ☛vue 1.0 键盘上所有的按键都有对应的别名 ==> a => .a ,ctrl => .ctrl ……

    ☛vue 2.0 删除了绝大多数的键盘映射,只保留了部分 常用修饰符

    ☛提供了一个配置接口 ,可以自定义 键盘映射

        ☞实测 2.0.0 版本 键盘映射被删除

        ☞测 2.5.3 版本 键盘映射存在

    若需要使用自定义修饰符时(版本升级),可以参考下段代码:

Vue.config.keyCodes = {a:65
}

    例 01:点击键盘 a 键时触发事件,并打印出事件源。主要代码如下:

    js部分代码

window.onload = function (){new Vue({el:"#app",methods:{showA(e){console.log("你按了a键");console.log(e);}}});
}

    html部分


    执行上述代码后,在文本框中只有按键盘 a 键后(keyup),才会触发事件打印事件对象 e ,按其他键均无效。事件对象e的具体内容如下:

    因为shifkey、ctrlKey、altKey等的取值是Boolean类型,true是表示按了该键,false表示未按该键。所以,要同时 按 ctrl 和 a 键时,只需要将上面代码段的函数中加个判断条件。如下所示。当且仅当同时按下ctrl 和 a 键时会console.log出结果。

showA(e){// console.log("你按了a键");// console.log(e);if(e.ctrlKey){console.log("你按了ctrl + a 键");}
}

3.3 v-bind

    用法:        v-bind: 属性名 = "属性值",可以简写为     :属性名="属性值"

    3.3.1 v-bind绑定表单标签的值

    使用 v-bind 绑定表单标签的值使用方法是 v-bind:value ="值(可以是data中定义的变量)"。此时,其与 使用 v-model 的主要区别是:v-mdel 是双向绑定,当表单标签的值发生改变时,该变量的值也随之变化,当变量值发生变化时,表单的值也发生变化;而 使用 v-bind 绑定时,表单中的值发生变化不会影响变量中的值的变化。

    3.3.2 v-bind 绑定 HTML 标签属性

     v-bind 可以对所有的html 的元素标签进行属性绑定,并且不局限于HTML 的原始属性。也可绑定自定义的html标签的属性。

    以v-bind绑定 class 为例。v-bind绑定的属性不影响原生属性的绑定。其参数分为字符串、变量、数组和对象四类,具体直接见代码和注释。





v-bind参数是字符串,多加一对引号

v-bind参数是data中定义的变量

v-bind参数是数组,其中数组的每个元素又是data中定义的变量,显示效果是 class="aa bb"

v-bind参数是对象,索引是在css中定义的样式,值是true(显示)/false(不显示)


    上段代码的执行结果如下:

                                                

    需要注意的是,当使用 v-bind 绑定 style属性使用使用对象传参的特殊性。印象 html 标签 style属性的设置本身就是对象形式 style = "{fontSize:'20px' , color:'red'}"。所以,在使用v-bind的时

:style = "{ color: 变量名/字符串, fontSize: 变量名/字符串 }"

 

 

至此,完毕,感谢阅读。

一入前端深似海,从此时间是路人。

                                                                                          --论前端的技术更新

 

 

 

 

 


转:https://my.oschina.net/u/3563169/blog/1575899



推荐阅读
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 本文全面解析了JavaScript中的DOM操作,并提供了详细的实践指南。DOM节点(Node)通常代表一个标签、文本或HTML属性,每个节点都具有一个nodeType属性,用于标识其类型。文章深入探讨了DOM节点的创建、查询、修改和删除等操作,结合实际案例,帮助读者更好地理解和掌握DOM编程技术。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • 2.2 组件间父子通信机制详解
    2.2 组件间父子通信机制详解 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
  • 在Eclipse中提升开发效率,推荐使用Google V8插件以增强Node.js的调试体验。安装方法有两种:一是通过Eclipse Marketplace搜索并安装;二是通过“Help”菜单中的“Install New Software”,在名称栏输入“googleV8”。此插件能够显著改善调试过程中的性能和响应速度,提高开发者的生产力。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • Python 程序转换为 EXE 文件:详细解析 .py 脚本打包成独立可执行文件的方法与技巧
    在开发了几个简单的爬虫 Python 程序后,我决定将其封装成独立的可执行文件以便于分发和使用。为了实现这一目标,首先需要解决的是如何将 Python 脚本转换为 EXE 文件。在这个过程中,我选择了 Qt 作为 GUI 框架,因为之前对此并不熟悉,希望通过这个项目进一步学习和掌握 Qt 的基本用法。本文将详细介绍从 .py 脚本到 EXE 文件的整个过程,包括所需工具、具体步骤以及常见问题的解决方案。 ... [详细]
  • Swoole加密机制的安全性分析与破解可能性探讨
    本文深入分析了Swoole框架的加密机制,探讨了其在实际应用中的安全性,并评估了潜在的破解可能性。研究结果表明,尽管Swoole的加密算法在大多数情况下能够提供有效的安全保护,但在特定场景下仍存在被攻击的风险。文章还提出了一些改进措施,以增强系统的整体安全性。 ... [详细]
  • 利用爬虫技术抓取数据,结合Fiddler与Postman在Chrome中的应用优化提交流程
    本文探讨了如何利用爬虫技术抓取目标网站的数据,并结合Fiddler和Postman工具在Chrome浏览器中的应用,优化数据提交流程。通过详细的抓包分析和模拟提交,有效提升了数据抓取的效率和准确性。此外,文章还介绍了如何使用这些工具进行调试和优化,为开发者提供了实用的操作指南。 ... [详细]
  • 本指南介绍了 `requests` 库的基本使用方法,详细解释了其七个主要函数。其中,`requests.request()` 是构建请求的基础方法,支持其他高级功能的实现。此外,我们还重点介绍了如何使用 `requests.get()` 方法来获取 HTML 网页内容,这是进行网页数据抓取和解析的重要步骤。通过这些基础方法,读者可以轻松上手并掌握网页数据抓取的核心技巧。 ... [详细]
  • 使用 Vuex 管理表单状态:当输入框失去焦点时自动恢复初始值 ... [详细]
author-avatar
孙俊啟66864
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有