一、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模板绑定的更多相关文章

  1. 【Knockout.js 学习体验之旅】(3)模板绑定

    本文是[Knockout.js 学习体验之旅]系列文章的第3篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...

  2. knockoutJS学习笔记06:ko数组与模板绑定

    前面已经介绍了基本的绑定和模板相关知识,接下来就看ko里的数组和模板绑定,数组和模板绑定应该是实际项目中用得比较多的,ko提供了很好的支持. 一.observaleArray 前面的监控属性都是单个对 ...

  3. Windows Store App JavaScript 开发:模板绑定

    WinJS库模板提供了一种格式化显示多条数据的便捷方式,通过这种方式可以将模板与ListView或FlipView等控件结合使用以控制数据的显示格式.定义一个WinJS库模板的方法与定义WinJS库控 ...

  4. Knockout学习之模板绑定器

    模板绑定器 如今页面结构越来越复杂,仅仅依靠foreach已经不足以我们的使用,这个时候我们就需要模板的存在,模板的优点自然很多,首先会让页面整洁,同时修改起来也可以方面的定位,最重要的是ko可以条件 ...

  5. Knockout应用开发指南 第四章:模板绑定

    原文:Knockout应用开发指南 第四章:模板绑定 模板绑定The template binding 目的 template绑定通过模板将数据render到页面.模板绑定对于构建嵌套结构的页面非常方 ...

  6. KnockOut文档--模板绑定

    目的 模板绑定使用数据render模板,然后把渲染的结果填充到Dom树中.模板通过重复或嵌套块(通常为您的视图模型数据的函数)用一种简单,方便的方式来建立复杂的UI结构 . 有两种方式使用模板: Na ...

  7. WPF 模板绑定父级控件内容

    WPF 模板绑定父级控件内容 <Style TargetType="Button" x:Key="btn"> <Setter Property ...

  8. Win10系列:JavaScript 模板绑定

    WinJS库模板提供了一种格式化显示多条数据的便捷方式,通过这种方式可以将模板与ListView或FlipView等控件结合使用以控制数据的显示格式.定义一个WinJS库模板的方法与定义WinJS库控 ...

  9. Xamarin XAML语言教程控件模板的模板绑定

    Xamarin XAML语言教程控件模板的模板绑定 控件模板的模板绑定 为了可以轻松更改控件模板中控件上的属性值,可以在控件模板中实现模板绑定功能.模板绑定允许控件模板中的控件将数据绑定到公共属性上. ...

随机推荐

  1. 6、VUE指令

    1.指令的格式 1.1. 指令的概念 指令是指带有v-前缀的特殊属性,指令的职责是当其表达式的值改变时,相应的将某些行为应用到DOM上. 1.2. 指令必须是html的属性 指令只能以带前缀的html ...

  2. ubuntu开发常用收集

    命令: 1.http://blog.csdn.net/simongeek/article/details/45271089 2.http://www.jianshu.com/p/654be9c0f13 ...

  3. [Leetcode] Binary Tree Pruning

    題目是說,如果左右子樹都不存在又自已為0,就去掉那個子樹(設為null) recursive後序,左子樹,右子樹,然後是根 自已同時又是別人的子樹,所以要告訢根自已是不是存在 從a開始,左右子樹都不存 ...

  4. kylin安装过程问题排查

    问题:日志报错:/usr/local/apps/kylin/tomcat/conf/.keystore (没有那个文件或目录) 解决:在kylin内置tomcat的server.xml中里边有个对ht ...

  5. Beego 学习笔记12:文件的操作

    文件的操作 1>     此事例操作的是text文件 2>     文件的操作有读取text内容,将内容写入到文件中,删除文件,创建文件 3>     新建一个控制器,名为rwfil ...

  6. python可视化_matplotlib

    对于Python数据可视化库,matplotlib 已经成为事实上的数据可视化方面最主要的库,此外还有很多其他库,例如vispy,bokeh, seaborn,pyga,folium 和 networ ...

  7. sqlite3 FTS全文索引按照相关性排序

    PS.后来发现,以下代码并不准确.请大家不要试了. -------以下是原内容------------------------------------------------------------- ...

  8. MySQL的JOIN连接

    MySQL的JOIN join的含义跟英文单词"join"一样,连接连接两张表.分为 内连接:inner join 外连接   (1)左外连接(左边的表不加限制):left joi ...

  9. Docker10-实战-构建Java Web运行环境

    目录 创建Docker镜像 下载制作镜像的系统 启动容器并修改镜像 制作镜像 创建Docker镜像 [info]构建Docker镜像的一般过程是首先创建一个容器, 并在容器里修改镜像,配置相关环境等, ...

  10. Nodejs入门级

    应用不同模块分析 我们来分解一下这个应用,为了实现一个应用,我们需要实现哪些部分呢? 我们需要提供Web页面,因此需要一个HTTP服务器 对于不同的请求,根据请求的URL,我们的服务器需要给予不同的响 ...