Vuejs模板绑定
一、Vue实例
①el:指定被Vue管理的模板入口,网页中的DOM节点,但是不能使用body和html,必须是一个普通的HTML标签节点,一般是div
②data:数据驱动视图的数据,在data中初始化一个数据成员,然后在模板中就可以使用这个模板成员,可以通过修改数据的方式来修改视图
③methods:一般用来定义事件处理函数,也可以把方法写到data中,但是在Vue中更推荐把所有方法写到methods属性中,这样更加合理,把方法和数据分门别类
<div id="app">
<h1>{{message}}</h1>
<button v-on:click="handleClick">点击</button>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
const app=new Vue({
el:'#app',
data:{
message:'hello vue'
},
methods:{
/*正常写法:
handleClick:function(){
window.alert(this.message)
}*/
/*ES6对象属性函数简写方式*/
handleClick(){
window.alert(this.message)
}
}
});
</script>
二、数据绑定渲染(单向绑定)
①文本绑定,可以使用使用JavaScript表达式
{{data中的数据成员}}
<div id="app">
<!-- data中的message成员 -->
<h3>{{message}}</h3>
<!-- 字符串message -->
<h3>{{'message'}}</h3>
<!-- 数字123 -->
<h3>{{123}}</h3>
<!-- 使用JavaScript表达式 -->
<p>{{'vue'+'js'}}</p>
<p>{{1+100}}</p>
<p>{{message+'world'}}</p>
<p>{{ok?123:456}}</p>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
const app=new Vue({
el:'#app',
data:{
message:'hello',
ok:false,
}
});
</script>

②标签节点属性绑定,可以使用使用JavaScript表达式
v-bind:属性名称="data中的数据成员"
:属性名称="data中的数据成员"(简写方式)
<div id="app">
<a v-bind:href="url">vue官网</a>
<!-- 简写模式:省略v-bind,直接:开头 -->
<a :href="url">vue官网</a>
<!-- 使用JavaScript表达式 -->
<p v-bind:class="'vue'+'js'">字符串拼接</p>
<p v-bind:class="ok?'YES':'NO'">三元表达式</p>
<p v-bind:class="message+'world'">数据成员和字符串拼接</p>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
const app=new Vue({
el:'#app',
data:{
url:'https://cn.vuejs.org/',
message:'hello',
ok:false
}
});
</script>

③转义输出html文档
v-html='data中的数据成员'
<div id="app">
<div v-html='rawhtml'></div>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
const app=new Vue({
el:'#app',
data:{
// 在html中不能使用vue的语法特性
rawhtml:'<h1>hello world</h1>',
}
});
</script>

三、表单数据双向绑定
①文本和多行文本
v-model='data数据中的成员'
<div id="app">
<p>{{message}}</p>
<input type="text" :value='message'><br>
<!-- 双向绑定 -->
<input type="text" v-model='message'><br>
<textarea cols="30" rows="10" v-model='message'></textarea>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
const app=new Vue({
el:'#app',
data:{
message:'hello'
}
});
</script>

③复选框和单选按钮
<div id="app">
<!-- 复选框 -->
<input type="checkbox" v-model='seen'><br>
<h1>{{seen}}</h1>
<!-- 单选框 -->
<input type="radio" id="one" value="One" v-model="picked">One<br>
<input type="radio" id="two" value="Two" v-model="picked">Two<br>
<h1>Picked: {{ picked }}</h1>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
const app=new Vue({
el:'#app',
data:{
seen:true,
picked:'',
}
});
</script>

⑤选择列表
<div id="app">
<select v-model="selected">
<option disabled value="">请选择</option>
<option>A</option>
<option>B</option>
<option>C</option>
</select>
<h1>Selected: {{ selected }}</h1>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
const app=new Vue({
el:'#app',
data:{
selected: ''
}
});
</script>

四、事件绑定
v-on:事件名称="处理函数"
@事件名称="处理函数"(简写)
<div id="app">
<button v-on:click="handleClick">点击获取 number</button>
<button @click="handleClick">点击获取 number</button>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
const app=new Vue({
el:'#app',
data:{
number:10
},
methods:{
handleClick(){
window.alert(this.number)
}
}
});
</script>
五、条件渲染和列表渲染
①条件渲染:
<div id="app">
<input type="checkbox" v-model='seen'>点击
<div v-if='seen' style="width: 100px;height: 100px;background: red;"></div>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
const app=new Vue({
el:'#app',
data:{
seen:true,
}
});
</script>

②列表渲染:
<div id="app">
<ol>
<li v-for='item in person'>{{item}}</li>
</ol>
<ul>
<li v-for='student in students'>{{student.id+student.name}}</li>
</ul>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
const app=new Vue({
el:'#app',
data:{
person:['刘备','张飞','关羽'],
students:[
{id:1,name:'张三'},
{id:2,name:'李四'},
{id:3,name:'王五'},
]
}
});
</script>

注:详细完善的内容请参考官方文档
Vuejs模板绑定的更多相关文章
- 【Knockout.js 学习体验之旅】(3)模板绑定
本文是[Knockout.js 学习体验之旅]系列文章的第3篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...
- knockoutJS学习笔记06:ko数组与模板绑定
前面已经介绍了基本的绑定和模板相关知识,接下来就看ko里的数组和模板绑定,数组和模板绑定应该是实际项目中用得比较多的,ko提供了很好的支持. 一.observaleArray 前面的监控属性都是单个对 ...
- Windows Store App JavaScript 开发:模板绑定
WinJS库模板提供了一种格式化显示多条数据的便捷方式,通过这种方式可以将模板与ListView或FlipView等控件结合使用以控制数据的显示格式.定义一个WinJS库模板的方法与定义WinJS库控 ...
- Knockout学习之模板绑定器
模板绑定器 如今页面结构越来越复杂,仅仅依靠foreach已经不足以我们的使用,这个时候我们就需要模板的存在,模板的优点自然很多,首先会让页面整洁,同时修改起来也可以方面的定位,最重要的是ko可以条件 ...
- Knockout应用开发指南 第四章:模板绑定
原文:Knockout应用开发指南 第四章:模板绑定 模板绑定The template binding 目的 template绑定通过模板将数据render到页面.模板绑定对于构建嵌套结构的页面非常方 ...
- KnockOut文档--模板绑定
目的 模板绑定使用数据render模板,然后把渲染的结果填充到Dom树中.模板通过重复或嵌套块(通常为您的视图模型数据的函数)用一种简单,方便的方式来建立复杂的UI结构 . 有两种方式使用模板: Na ...
- WPF 模板绑定父级控件内容
WPF 模板绑定父级控件内容 <Style TargetType="Button" x:Key="btn"> <Setter Property ...
- Win10系列:JavaScript 模板绑定
WinJS库模板提供了一种格式化显示多条数据的便捷方式,通过这种方式可以将模板与ListView或FlipView等控件结合使用以控制数据的显示格式.定义一个WinJS库模板的方法与定义WinJS库控 ...
- Xamarin XAML语言教程控件模板的模板绑定
Xamarin XAML语言教程控件模板的模板绑定 控件模板的模板绑定 为了可以轻松更改控件模板中控件上的属性值,可以在控件模板中实现模板绑定功能.模板绑定允许控件模板中的控件将数据绑定到公共属性上. ...
随机推荐
- 6、VUE指令
1.指令的格式 1.1. 指令的概念 指令是指带有v-前缀的特殊属性,指令的职责是当其表达式的值改变时,相应的将某些行为应用到DOM上. 1.2. 指令必须是html的属性 指令只能以带前缀的html ...
- ubuntu开发常用收集
命令: 1.http://blog.csdn.net/simongeek/article/details/45271089 2.http://www.jianshu.com/p/654be9c0f13 ...
- [Leetcode] Binary Tree Pruning
題目是說,如果左右子樹都不存在又自已為0,就去掉那個子樹(設為null) recursive後序,左子樹,右子樹,然後是根 自已同時又是別人的子樹,所以要告訢根自已是不是存在 從a開始,左右子樹都不存 ...
- kylin安装过程问题排查
问题:日志报错:/usr/local/apps/kylin/tomcat/conf/.keystore (没有那个文件或目录) 解决:在kylin内置tomcat的server.xml中里边有个对ht ...
- Beego 学习笔记12:文件的操作
文件的操作 1> 此事例操作的是text文件 2> 文件的操作有读取text内容,将内容写入到文件中,删除文件,创建文件 3> 新建一个控制器,名为rwfil ...
- python可视化_matplotlib
对于Python数据可视化库,matplotlib 已经成为事实上的数据可视化方面最主要的库,此外还有很多其他库,例如vispy,bokeh, seaborn,pyga,folium 和 networ ...
- sqlite3 FTS全文索引按照相关性排序
PS.后来发现,以下代码并不准确.请大家不要试了. -------以下是原内容------------------------------------------------------------- ...
- MySQL的JOIN连接
MySQL的JOIN join的含义跟英文单词"join"一样,连接连接两张表.分为 内连接:inner join 外连接 (1)左外连接(左边的表不加限制):left joi ...
- Docker10-实战-构建Java Web运行环境
目录 创建Docker镜像 下载制作镜像的系统 启动容器并修改镜像 制作镜像 创建Docker镜像 [info]构建Docker镜像的一般过程是首先创建一个容器, 并在容器里修改镜像,配置相关环境等, ...
- Nodejs入门级
应用不同模块分析 我们来分解一下这个应用,为了实现一个应用,我们需要实现哪些部分呢? 我们需要提供Web页面,因此需要一个HTTP服务器 对于不同的请求,根据请求的URL,我们的服务器需要给予不同的响 ...