【vue.js权威指南】读书笔记(第二章)

【第2章:数据绑定】

  1. 何为数据绑定?答曰:数据绑定就是将数据和视图相关联,当数据发生变化的时候,可以自动的来更新视图。
  2. 数据绑定的语法主要分为以下几个部分:
    1. 文本插值:文本插值可以说是最基本的形式了。在vue.js中,使用了Mustache的语法,类似于Angular中的{{}}双大括号的形式。代码如下

      <span>Text:{{text}}</span>

      当然,如果你只想渲染一次数据,而对以后的数据不再关心的话,你也可以使用下面的语法:

      <span>Text:{{*text}}</span>

      如果你的值是html片段的话,你也可以使用三个大括号的形式来进行绑定,如下所示:

      <span>Text:{{{logo}}}</span>
      logo:‘<span>ABCD</span>‘

      此外,双大括号标签还可以放在html标签的内部,也是会被解析出来。如下:

      <span data-id="{{id}}"></span>

      总之,vue.js提供了一系列的文本渲染的方式,足够我们应对日常的模版渲染情况。但是必须注意的是,vue的指令和自身特性内是不可以插值的,如果用错了地方,vue.js会发出警告。

    2. 表达式:Mustache标签可以接受表达式形式的值,表达式可以由JavaScript表达式和过滤器构成。当然,过滤器可以没有,也可以有多个。
      • 在这里,我们必须了解表达式的含义,一定要区分表达式和语句。所谓表达式,就是各种数值,变量,运算符的综合体。简单的表达式可以是常量或者变量名称,而表达式的值则是它的运算结果。代码如下:

        <!--js表达式-->
        {{center/100}}
        {{true:1:0}}
        {{example.split(",")}}
        
        <!--无效的示例。因为它们都是语句-->
        {{var logo = "ABCD"}}
        {{if(true) return "EFGH"}} //条件控制语句是不支持的,可以使用三元式
      • vue.js中的过滤器类似于pipe,即管道的意思。可以将过滤器添加到表达式后面,代码如下:

        {{example | toUpperCase}}
        
        {{example | filterA | filterB}}

        不仅如此,过滤器还支持传入参数,代码如下:

        {{example | filter a b}}
        //这里的a和b都是参数,使用空格来分隔开

        vue.js中内置的过滤器远不止这些,想要了解更多?我会加快看书,加快更新,大家喝杯茶,稍等片刻。^_^

    3. 指令:就像Angular中的ng-*指令,vue.js中也有自己的指令,只不过是v-*而已,怎么样?是不是很简单?有Angular基础的同学,掌握起来都是分分钟的事。指令的值限定为绑定表达式。而指令的作用正是当表达式的值发生变化的时候,将这个变化也反映到DOM上。
      • 那么问题来了,啥叫绑定表达式?书中所说,绑定表达式,就是JavaScript表达式和过滤器。说白了,就是加了过滤器的表达式,其实质和表达式是一个概念。代码如下:

        <div v-if="show"></div>

        这段代码的意思就是:当show为true的时候,展示这个div;当show为false的时候,不展示这个div。这也印证了上面所说的指令的作用,就是根据它的值,来改变DOM。

      • 此外,在指令和绑定表达式中间,我们还可以插入一个参数,这个参数和指令之间,使用:来进行分隔。如v-bind指令,代码如下:

        <a v-bind:href = "url"></a>
        
        <div v-bind:click="action"></div>
    4. 分隔符:vue.js中的数据绑定的语法被设计为可配置的。如果大家不习惯Mustache的双大括号语法{{}},完全可以自己设置。
      • 我们可以在vue.config中配置绑定的语法。vue.config是一个对象,包含了vue.js的所有全局的配置,可以在vue实例化之前来修改其中的属性。分隔符在vue.config中的源码定义如下:

        let delimiters = [‘{{‘,‘}}‘]
        
        let unsafeDelimiters = [‘{{{‘,‘}}}‘]

        我们可以通过配置vue.config.delimiters的值来改变默认的文本插值的分隔符,如下:

        Vue.config.delimiters = [‘<%‘,‘%>‘]

        这样我们的文本插值语法就不再是双大括号语法,而是<%example%>这样的语法了。html插值的分隔符与此类似。

    5. 第二章:数据绑定就先总结到这里,有什么错误,还请大家在评论里指出,我会第一时间更正。3Q^_^  
时间: 2024-10-13 22:20:21

【vue.js权威指南】读书笔记(第二章)的相关文章

JS权威指南读书笔记(一)

第一章 JavaScript概述 1 JS是一门高端的.动态的.弱类型的编程语言,非常适合面向对象和函数式的编程风格. 第二章 词法结构 1 JS程序是用Unicode字符集编写的. 2 JS是区分大小写的,但是Html并不区分大小写. 3 JS会忽略程序中标识之间的空格,多数情况下,同样会忽略换行符. 4 回车符(\u000D)和换行符(\u000A)在一起被解析为一个单行结束符. 5 空格.换行符和格式控制符可以用在JS的注释.字符串直接量和正则表达式直接量中,但不能用在标识符中. 6 Un

《JS权威指南学习总结--第二章词法结构》

第二章词法结构 内容要点: 一.注释 1. //表示单行注释 2. /*这里是一段注释*/ 3.一般编辑器里加注释是:选中要加注释的语句,按 ctrl+/ 二.直接量 所谓直接量,就是程序中直接使用的数据量,比如: 数字.小数.字符串文本.布尔值.正则表达式直接量 三.标识符和保留字 标识符作用:标识符就是一个名字,在JS中,标识符用来对变量和函数进行命名,或者用做JS代码中某些循环语句中的跳转位置的标记. 标识符命名规则: 1.必须以字母.下划线(_)或美元符($)开始. 2.后续的字符可以是

JS权威指南读书笔记(七)

第十七章 事件处理 1 客户端JS程序采用了异步事件驱动编程模型. 2 关于事件的重要定义 a 事件类型(event type) b 事件目标(event target) target === srcElement(IE8及之前版本) c 事件处理程序(event handler ) 当对象上注册的事件处理程序被调用时,可以说浏览器触发(fire trigger)和派发(dispatch)了事件: d 事件对象(event object) e 事件传播(event propagation)两种形

JS权威指南读书笔记(五)

第十三章 Web浏览器中的JavaScript 1 在Html文档中嵌入客户端4种JS代码方法 a 内联方式,放置在<script>标签之间 b 放置在<script>标签 src 属性指定的外部文件中 c 放置在HTML事件处理程序中 d 放置在URL中,"javascript:" 协议 2 在XHTML中,script标签中内容将被当做其他内容,如果JS代码包含了"<" 或 "&"字符,那么这些字符将被解

JS权威指南读书笔记(六)

第十五章 脚本化文档 1 文档对象模型(DOM)是表示和操作HTML和XML文档内容的基础API. 2 文档节点的部分层次结构 Text和CDATASection都是characterData的子类型. 3 getElementsByNames() 定义在HTMLDocument类中,而不是Document(文档可能代表HTML也可能代表XML) 类中,所以只针对HTML文档可用. 4 由于历史原因,HTMLDocument类定义了一些快捷属性来访问各种各样的节点.例如:images.forms

JS权威指南读书笔记(四)

第十章 正则表达式 1 正则表达式直接量定义为包含在一对斜杠(/)之间的字符 a /s$/ == new RegExp("s$") 2 直接量字符:所有字母和数字都是按照字面含义进行匹配的,非字母的字符需要通过反斜线(\)作为前缀进行转义. 3 字符类:将直接量字符单独放进方括号内就组成了字符类.一个字符类可以匹配它所包含的任意字符. 转义符\b 具有特殊含义,当用在字符类中,它表示退格符,所以一个元素的字符类[\b]表示一个退格符. 4 重复 5 在待匹配的字符后跟随一个问号(?),

JS权威指南读书笔记(三)

第七章 数组 1 数组的实现是经过优化的,用数字索引来访问数组元素一般来说比访问常规的对象属性要快的多. 2 数组直接量的语法允许有可选的结尾的逗号,故[ ; ; ]只有两个元素而非三个. 3 调用构造函数创建数组 a 调用时没有参数 => 空数组 b 调用时有一个数值参数 => 指定长度的数组 c 显式指定两个或多个数组元素或一个非数值元素 => 参数成为新数组的元素 4 稀疏数组:包含从0开始的不连续索引(即 '索引值' in '数组' 运算返回 false)的数组.可以用Array

JS权威指南读书笔记(二)

第四章 表达式和运算符 1 new调用构造函数的过程 a 创建一个新的空对象 b 设置空对象的_proto_指向构造函数原型prototype c 将这个新对象当做this的值来调用构造函数 d 如果构造函数不返回一个对象值,则返回新对象 2 左值:表示存储在计算机内存的对象. 3 除数为0的运算结果是正无穷大或负无穷大,0/0的结果是NaN. 4 位运算符会将NaN.Infinity和-Infinity都转换为0. 5 in运算符希望它的左操作数是一个字符串或可以转换为字符串,右操作数是一个对

css权威指南阅读笔记-第二章css选择器

css选择器有10+种.这里介绍几种常用的和他们的特点 1.元素选择器 如h1 h2 h3 a p 等一系列标签名 2 通配选择器 *,匹配所有html的元素 3 类选择器 class=‘a b'这种选择器在.a.b和.b.a是一样的,不区别先后顺序,另外类选择器区分大小写,class='A'在css中不能用.a匹配到,只能用.A匹配到 类选择器在页面中一般用于样式的复用 4 ID选择器 id选择器在页面中具有唯一性,并区分大小写,就是说box和BOX不是同一个ID 5 属性选择器 有4种模式

《Hadoop权威指南》笔记 第二章 Hadoop Streaming

什么是Hadoop Streaming ? ? Hadoop提供的一个编程工具,允许用户使用任何可执行文件或脚本作为mapper和Reducer ? ? 一个例子(shell简洁版本) ? ? $HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-*-streaming.jar -input myInputDirs -output myOutputDir -mapper cat -reducer wc ? ? 解析: