***插值

#文本  

    数据绑定最常见的形式就是双大括号的形式:

        <div id="app">{{message}}</div>

    只要绑定的属性message上的值发生变化,插值出的内容都会发生变化

        var app = new Vue({
el:"#app",
data:{
message:'hello Ling!'
}
}) #纯HTML 双大括号会将数据解释为纯文本,而不是HTML 。为了输出真正的 HTML ,就需要使用到 v-html 指令: <div id=‘app-2’ v-html="Myhtml"></div>
var vm = new Vue({
el:'#app-2',
data:{
rawHtml:'<p>这是一个P标签!</p>'
}
}); 效果:
![](http://images2015.cnblogs.com/blog/1023621/201612/1023621-20161228113215023-460227816.png) #属性: <button v-bind:id="btn_id" v-bind:disabled="check">点击我</button> 如果check的值是false,则disabled属性将不会被渲染。以v-开头的是Vue.js的指令,你马上就能看到如何使用它们。

***表达式

   可以在指令及{{}}中使用表达式,事实上,常量或变量的名称就是最简单的表达式。Vue可以通过是否带引号来判断一个表达式是一个变量还是一个常量字符串。所以在以后的内容里,指令及{{}}中的内容会被成为表达式

   {{message}}
{{number + 1}}
{{ok ? 'yes' : 'no'}}
{{ message.split('').reverse().join('') }}
<div v-bind:id="'list-' + id"></div> 这些表达式都被支持,但是{{}}和指令中只支持一个表达式,不支持语句。

***过滤器

 {{message | capitalize}}======》Vue.js的内置过滤器,作用是似的message中的值首字母大写。
另外,你也可以自定义过滤器:
new Vue({
//......
filters:{
ling:function(value){
return 'ling is a pretty girl!I want to say:' + value
}
}
})
过滤器可以串联,也可以接受参数。在接受参数时,第一个参数默认是前面返回的字符串,第二个参数开始是用户传递的参数,注意如果参数是字符串要加引号。如:
{{message | filterA | filterB('string', somevar)}}

***指令

    指令(Directives)是带有 v- 前缀的特殊属性。
1:循环v-for: <div id="app-3">
<ol>
<li v-for="todo in todos">
{{todo.text}}
</li>
</ol>
</div>
<script>部分:
var app3 = new Vue({
el:'#app-3',
data:{todos:[
{text:'ling Yan'},
{text:'zhang San'},
{text:'li Si'}
]
}
});
浏览器显示为:

    2:v-on:
<div id="app-4">
<p>{{message}}</p>
<button v-on:click="reverseMessage">Reverse Message</button>
<button v-on:click="sliceMessage">sliceMessage</button>
</div>
<script>部分:
var app4 = new Vue({
el:'#app-4',
data:{
message:'Hello Ling Yan!'
},
methods:{
reverseMessage:function(){
this.message = this.message.split('').reverse().join('')
},
sliceMessage:function(){
this.message = this.message.slice(6);
}
}
});
浏览器显示为:

    3:on-bind:
<div id="app-2">
<span v-bind:title="message">
鼠标滑过几秒钟!
</span>
</div>
<script>部分:
var app2 = new Vue({
el:'#app-2',
data:{
message:'你在'+new Date()+'加载此页面'
}
})
浏览器系显示效果:

v-on用于指定事件,而v-bind用于绑定属性,由于它们非常常见,所以Vue.js为它们提供看缩写的形式:
<button :id="idname" @click="say"></button>
say为事件的触发函数,写在methods属性中。

vue2.0---模板语法的更多相关文章

  1. Vue2.0环境搭建和测试demo

    Vue2.0 推荐开发环境 Homebrew 1.0.6(Mac).Node.js 6.7.0.npm 3.10.3.webpack 1.13.2.vue-cli 2.4.0.Atom 1.10.2 ...

  2. Vue2.0 新手完全填坑攻略——从环境搭建到发布

    Jinkey原创感谢 showonne.yubang 技术指导Demo 地址:http://demo.jinkey.io/vue2源码:https://github.com/Jinkeycode/vu ...

  3. Vue2.0项目

    什么是 Vue Vue 是一个前端框架,特点是 数据绑定 比如你改变一个输入框 Input 标签的值,会 自动同步 更新到页面上其他绑定该输入框的组件的值  组件化 页面上小到一个按钮都可以是一个单 ...

  4. vue2.0+element+node+webpack搭建的一个简单的后台管理界面

    闲聊: 今天是六一儿童节哟,小颖祝大家节日快乐哈哈哈.其实这个demo小颖断断续续做了将近两个礼拜了,心塞的,其实这个也没有多难,主要是小颖有点最近事情有点多,所以就把这个一直拖着,今天好不容易做好了 ...

  5. Vue2.0组件实现动态搜索引擎(一)

    原文链接:https://blog.csdn.net/qwezxc24680/article/details/74550556 从github上看到一个不错的开源项目:https://github.c ...

  6. Vue2.0 新手入门 — 从环境搭建到发布

    什么是 Vue Vue 是一个前端框架,特点是数据绑定 比如你改变一个输入框 Input 标签的值,会自动同步更新到页面上其他绑定该输入框的组件的值 组件化 页面上小到一个按钮都可以是一个单独的文件. ...

  7. 前端MVC Vue2学习总结(三)——模板语法、过滤器、计算属性、观察者、Class 与 Style 绑定

    Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解 ...

  8. Vue2.0 【第一季】第3节 v-for指令:解决模板循环问题

    目录 Vue2.0 [第一季] 第3节 v-for指令:解决模板循环问题 第三节 v-for 指令 一.基本用法: 二.排序 三.对象循环输出 Vue2.0 [第一季] 第3节 v-for指令:解决模 ...

  9. Vue2.0的变化 ,组件模板,生命周期,循环,自定义键盘指令,过滤器

    组件模板: 之前: <template> <h3>我是组件</h3><strong>我是加粗标签</strong> </templat ...

  10. Django 2.0 学习(12):Django 模板语法

    Django 模板语法 一.模板 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法 模板语法变量:{{ }} 在Django模板中遍历复杂数据结构的关键是句点字 ...

随机推荐

  1. 自定义UITabBarController标签视图控制器

    首先创建一个类,继承自UItabBarController 然后在.m文件中: 这里我有两个宏定义: #define WIDTH (myView.frame.size.width / 4) //我在写 ...

  2. React Native JSX value should be expression or a quoted JSX text.

    问题描述:  我在使用props时候, 我的写法是这样的 ... <View> <Person name='john' age=32 gender=true></Pers ...

  3. Android开发案例 - 注册登录

    本文只涉及UI方面的内容, 如果您是希望了解非UI方面的访客, 请跳过此文. 在微博, 微信等App的注册登录过程中有这样的交互场景(如下图): 打开登录界面 在登录界面中, 点击注册, 跳转到注册界 ...

  4. IOS 杂笔-11(实现在外部无法改变UIView的size)

    我想题目说的或许不是很清楚,那么现在我详细介绍一下这篇随笔内容. 在外部无法改变UIVIew控件的size. 这里说是UIView,但是事实上,是大多数控件而绝非仅UIView. 想要实现在外部无法改 ...

  5. mysql初级命令

    修改本地mysql root密码 #mysqladmin -uroot -p原密码 password  现密码 #mysqladmin -uroot -p passwd  password nowwd ...

  6. linux hosts文件详+mac主机名被莫名其妙修改

    1.名词解析 主机名: 无论是在局域网还是在INTERNET上,每台主机都有一个IP地址,用来区分当前是那一台机器(其实底层是使用机器的物理地址),也就是说IP地址就是一个主机的门牌号,唯一的标示这一 ...

  7. Swift和Objective-C混编注意事项

    前言 Swift已推出数年,与Objective-C相比Swift的语言机制及使用简易程度上更接地气,大大降低了iOS入门门槛.当然这对新入行的童鞋没来讲,的确算是福音,但对于整个iOS编程从业者来讲 ...

  8. Jmeter实现登录bugfree、新建bug、解决bug脚本(抓包工具实现)

    环境 Chrome jmeter3.1 fiddler4 win7 32位 Linux CentOs6.4 bugfree3.0.1 链接:http://pan.baidu.com/s/1gfHpbp ...

  9. SSH整合

    首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框 ...

  10. [LeetCode] Valid Phone Numbers 验证电话号码

    Given a text file file.txt that contains list of phone numbers (one per line), write a one liner bas ...