Vue入门笔记#数据绑定语法

#数据绑定语法#

#文本:

数据绑定的基础表型形式,使用“Mustache”语法(双大括号)(特意查了一下Mustache同“moustache”释义为:髭;上唇的胡子,小胡子,最起码我觉得挺形象的)

实例:https://jsfiddle.net/miloer/035ase08/

#html
<div id="app">
<input type="text" v-model="message">
<div>没星星的: {{ message }}</div>
<div>来自猩猩的你:{{*message}}</div>
</div>
#js
new Vue({
    el: ‘#app‘,
    data: {
        message: ‘Hello World!‘
    }
})
前面有“+”了*的就是原始的数据了,今后的数据变化就不会再次引起更新了。
#JavaScript 表达式

绑定的数据支持Javascript表达式 :

{{ name+ ” hi”}}
{{ message.split(”).reverse().join(”) }}

https://jsfiddle.net/miloer/035ase08/4/

#过滤器

{{msg||capitalize }}

过滤器可以串联
{{ message | filterA | filterB }}

过滤器也可以接受参数

{{ message | filterA ‘arg1’ arg2 }}

#指令

指令 (Directives) 是特殊的带有前缀 v- 的特性。指令的值限定为绑定表达式,它的职责就是当其表达式的值改变时把某些特殊的行为应用到 DOM 上。
<p v-if=“end”>Hello!</p>
//当end为真时,就显示Hello

#修饰符

修饰符 (Modifiers) 是以半角句号 . 开始的特殊后缀,用于表示指令应当以特殊方式绑定。例如 .literal 修饰符告诉指令将它的值解析为一个字面字符串而不是一个表达式<a v-bind:href.literal=“/a/b/c”></a>

#缩写
<a v-bind:href="url"></a>  =>  <a :href="url"></a>
<a v-on:click="doSomething"></a>  =>  <a @click="doSomething"></a>

v-model

  • 类型: 随表单控件类型不同而不同。
  • 限制:
    • <input>
    • <select>
    • <textarea>
  • Param Attributes:用法:在表单控件上创建双向绑定。
  • 另见: 表单控件绑定

v-if

  • 类型: *
  • 用法:根据表达式的值的真假条件渲染元素。在切换时元素及它的数据绑定 / 组件被销毁并重建。如果元素是 <template>,将提出它的内容作为条件块。
  • 另见: 条件渲染

v-bind

  • 缩写: :
  • 类型: * (with argument) | Object (without argument)
  • 参数: attrOrProp (optional)
  • 修饰符:用法:动态地绑定一个或多个 attribute,或一个组件 prop 到表达式。在绑定 class 或 style 时,支持其它类型的值,如数组或对象。在绑定 prop 时,prop 必须在子组件中声明。可以用修饰符指定不同的绑定类型。没有参数时,可以绑定到一个对象。注意此时 class 和 style 绑定不支持数组和对象。
    • .sync – 双向绑定,只能用于 prop 绑定。
    • .once – 单次绑定,只能用于 prop 绑定。
    • .camel – 将绑定的特性名字转回驼峰命名。只能用于普通 HTML 特性的绑定,通常用于绑定用驼峰命名的 SVG 特性,比如 viewBox
  • 另见:

v-on

  • 缩写: @
  • 类型: Function | Inline Statement
  • 参数: event (required)
  • 修饰符:用法:绑定事件监听器。事件类型由参数指定。表达式可以是一个方法的名字或一个内联语句,如果没有修饰符也可以省略。用在普通元素上时,只能监听原生 DOM 事件。用在自定义元素组件上时,也可以监听子组件触发的自定义事件。在监听原生 DOM 事件时,方法以事件为唯一的参数。如果使用内联语句,语句可以访问一个 $event 属性: v-on:click="handle(‘ok‘, $event)"1.0.11+ 在监听自定义事件时,内联语句可以访问一个 $arguments 属性,它是一个数组,包含传给子组件的 $emit 回调的参数。
    • .stop – 调用 event.stopPropagation()
    • .prevent – 调用 event.preventDefault()
    • .capture – 添加事件侦听器时使用 capture 模式。
    • .self – 只当事件是从侦听器绑定的元素本身触发时才触发回调。
    • .{keyCode | keyAlias} – 只在指定按键上触发回调。
  • 示例:

    <!-- 方法处理器 -->
    <button v-on:click="doThis"></button>
    
    <!-- 内联语句 -->
    <button v-on:click="doThat(‘hello‘, $event)"></button>
    
    <!-- 缩写 -->
    <button @click="doThis"></button>
    
    <!-- 停止冒泡 -->
    <button @click.stop="doThis"></button>
    
    <!-- 阻止默认行为 -->
    <button @click.prevent="doThis"></button>
    
    <!-- 阻止默认行为,没有表达式 -->
    <form @submit.prevent></form>
    
    <!-- 串联修饰符 -->
    <button @click.stop.prevent="doThis"></button>
    
    <!-- 键修饰符,键别名 -->
    <input @keyup.enter="onEnter">
    
    <!-- 键修饰符,键代码 -->
    <input @keyup.13="onEnter">

    在子组件上监听自定义事件(当子组件触发 “my-event” 时将调用事件处理器):

    <my-component @my-event="handleThis"></my-component>
    
    <!-- 内联语句 -->
    <my-component @my-event="handleThis(123, $arguments)"></my-component>

再放一个刚学Vue的小例子:https://coding.net/u/Miloer/p/weui_vue/git

参考:http://vuejs.org.cn/guide/

原文:http://www.cnblogs.com/moustache/p/5441928.html

时间: 2024-08-13 22:46:24

Vue入门笔记#数据绑定语法的相关文章

Vue入门笔记(二)--基础部分之条件渲染

github地址:https://github.com/iTao9354/basicVue/tree/master/conditional%20rendering(demo01-03) 一.v-if & v-else-if & v-else 1.见下例: 其中v-else必须紧跟在v-if或v-else-if后面. 注意:v-else-if是2.1.0新增. 2. 用属性key管理不需要复用的元素 当两个元素是完全独立时,就不需要复用,此时只需添加一个具有唯一值的key属性即可. 二.v-

Vue入门笔记#过渡

Vue过渡,可以在元素从DOM中移除,插入时自动调用过渡效果.根据设定,会适时的触发过渡效果. 在使用的目标标签里添加 transition: <div transition="my_transition"></div> https://jsfiddle.net/miloer/n282tqwv/ 它还可以和v-if,v-show,v-for,动态组件一起使用. 官方对Vue过渡过程的讲解: 尝试以 ID "my-transition" 查找

02-Vue入门之数据绑定

2.1. 什么是双向绑定? Vue框架很核心的功能就是双向的数据绑定. 双向是指:HTML标签数据 绑定到 Vue对象,另外反方向数据也是绑定的.通俗点说就是,Vue对象的改变会直接影响到HTML的标签的变化,而且标签的变化也会反过来影响Vue对象的属性的变化.这样以来,就彻底变革了之前Dom的开发方式,之前Dom驱动的开发方式尤其是以jQuery为主的开发时代,都是dom变化后,触发js事件,然后在事件中通过js代码取得标签的变化,再跟后台进行交互,然后根据后台返回的结果再更新HTML标签,异

Vue.js学习笔记: 数据绑定语法---插值

文本:数据绑定最基础的形式就是文本插值,使用一对双大括号 双大括号标签会被相应数据对象的msg属性的值替换,每当这个属性变化时它也会更新 HTML: <span id="test01">Message:{{msg}}</span> JS: var vm = new Vue({     el:'#test01',     data:{         msg:'数据绑定语法--文本插值'     } }); 也可以只处理单次插值,今后的数据变化就不会再引起插值更新

Vue学习笔记入门篇——组件的通讯

本文为转载,原文:Vue学习笔记入门篇--组件的通讯 组件意味着协同工作,通常父子组件会是这样的关系:组件 A 在它的模版中使用了组件 B.它们之间必然需要相互通信:父组件要给子组件传递数据,子组件需要将它内部发生的事情告知给父组件.然而,在一个良好定义的接口中尽可能将父子组件解耦是很重要的.这保证了每个组件可以在相对隔离的环境中书写和理解,也大幅提高了组件的可维护性和可重用性.在 Vue 中,父子组件的关系可以总结为 props down, events up.父组件通过 props 向下传递

Vue学习笔记入门篇——组件的使用

本文为转载,原文:Vue学习笔记入门篇--组件的使用 组件定义 组件 (Component) 是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能.在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展. 组件使用 注册 注册一个全局组件,你可以使用 Vue.component(tagName, options).组件在注册之后,便可以在父实例的模块中以自定义元素 的形式使用.

Vue学习笔记入门篇——组件的内容分发(slot)

本文为转载,原文:Vue学习笔记入门篇--组件的内容分发(slot) 介绍 为了让组件可以组合,我们需要一种方式来混合父组件的内容与子组件自己的模板.这个过程被称为 内容分发 (或 "transclusion" 如果你熟悉 Angular).Vue.js 实现了一个内容分发 API,使用特殊的 'slot' 元素作为原始内容的插槽. 编译作用域 在深入内容分发 API 之前,我们先明确内容在哪个作用域里编译.假定模板为: <child-component> {{ messa

Vue 数据绑定语法

数据绑定语法 Vue.js 的模板是基于 DOM 实现的.这意味着所有的 Vue.js 模板都是可解析的有效的 HTML,且通过一些特殊的特性做了增强.Vue 模板因而从根本上不同于基于字符串的模板,请记住这点. 插值 文本 数据绑定最基础的形式是文本插值,使用 “Mustache” 语法(双大括号): <span>Message: {{ msg }}</span> Mustache 标签会被相应数据对象的 msg 属性的值替换.每当这个属性变化时它也会更新. 你也可以只处理单次插

Vue学习(三):数据绑定语法

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>数据绑定语法</title> </head> <body> <!--1.插值--> <!--文本插值--> <h3 id="example1">{{ message }}<