#数据绑定语法#

#文本:

数据绑定的基础表型形式,使用“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

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

  1. Vue 入门之数据绑定

    什么是双向绑定? Vue 框架很核心的功能就是双向的数据绑定. 双向是指:HTML 标签数据 绑定到 Vue 对象,另外反方向数据也是绑定的.通俗点说就是,Vue 对象的改变会直接影响到 HTML 的 ...

  2. VUE 入门笔记

    前端的MVVM概念今年来也算是如火如荼,了解完 MVVM的概念,也该找个去尝试下 首先我先试了下 国内小而美的 VUE 试着照着文档敲出入门文件,内容都在注释里 <!doctype html&g ...

  3. 后端小白的VUE入门笔记, 前端高能慎入

    因为项目需要前后端分离,后端竟然不用控制view层了,页面的跳转后端不再干涉,(前端的vue经过打包后成了一张index.html) 后端只需要响应给前端json串就ok,其实这不是爽歪歪?但是觉得还 ...

  4. Vue入门笔记(一)--基础部分

    github地址:https://github.com/iTao9354/basicVue(demo01-28) 一.初识Vue 使用双大括号{{message}}将数据渲染进DOM中.      可 ...

  5. vue入门笔记

    Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手,还便于与 ...

  6. 后端小白的VUE入门笔记, 进阶篇

    使用 vue-cli( 脚手架) 搭建项目 基于vue-cli 创建一个模板项目 通过 npm root -g 可以查看vue全局安装目录,进而知道自己有没有安装vue-cli 如果没有安装的话,使用 ...

  7. vue入门笔记(新手入门必看)

    一.什么是Vue? 1.    vue为我们提供了构建用户界面的渐进式框架,让我们不再去操作dom元素,直接对数据进行操作,让程序员不再浪费时间和精力在操作dom元素上,解放了双手,程序员只需要关心业 ...

  8. [Python]Python入门笔记:语法基础

    Python笔记 一.基本语法 1.1 注释 文档注释: """contents""" 多行注释: ''' contents ''' 单行注 ...

  9. Vue入门笔记#过渡

    Vue过渡,可以在元素从DOM中移除,插入时自动调用过渡效果.根据设定,会适时的触发过渡效果. 在使用的目标标签里添加 transition: <div transition="my_ ...

随机推荐

  1. 解析sql语句中left_join、inner_join中的on与where的区别

    以下是对在sql语句中left_join.inner_join中的on与where的区别进行了详细的分析介绍,需要的朋友可以参考下 table a(id, type):id     type ---- ...

  2. unity3d优化总结篇

    转自http://www.unitymanual.com/thread-21597-1-1.html 此总结由自己经验及网上收集整理优化内容 包括:1.代码方面:2.函数使用方面:3.ngui注意方面 ...

  3. ios block 导致的循环引用

    [[NSNotificationCenter defaultCenter] addObserverForName:@"UIWindowDidRotateNotification" ...

  4. Oracle10g下载地址--多平台下的32位和64位

    前段时间ORACLE把10G的下载从官网拿掉了 ,许多童鞋不知道ORACLE 10g 的下载地址,这里我附上oracle 10g 下载的链接,方便大家下载.      点击链接使用迅雷即可下载.    ...

  5. 用 get 同步/异步 方式获取网络数据并输出

    //同步请求 //创建NSString用来存储请求的网址 NSString* str=@"http://v.juhe.cn/weather/index?format=2&cityna ...

  6. Divide and conquer:Subset(POJ 3977)

    子序列 题目大意:给定一串数字序列,要你从中挑一定个数的数字使这些数字和绝对值最小,求出最小组合数 题目的数字最多35个,一看就是要数字枚举了,但是如果直接枚举,复杂度就是O(2^35)了,显然行不通 ...

  7. 掌握VS2010调试 -- 入门指南

    1 导言 在软件开发周期中,测试和修正缺陷(defect,defect与bug的区别:Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种Bug的)的时间远多于写代码的时间.通常,debug是指发现缺 ...

  8. android快速开发--常用utils类

    1.日志工具类L.java package com.zhy.utils; import android.util.Log; /** * Log统一管理类 * * * */ public class L ...

  9. java获取短uuid

    public static String[] chars = new String[] { "a", "b", "c", "d&q ...

  10. python基础——多重继承

    python基础——多重继承 继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能. 回忆一下Animal类层次的设计,假设我们要实现以下4种动物: Dog - 狗狗: Bat ...