一、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. 通过静态发现方式部署 Etcd 集群

    在「etcd使用入门」一文中对etcd的基本知识点和安装做了一个简要的介绍,这次我们来说说如何部署一个etcd集群. etcd构建自身高可用集群主要有三种形式: 静态发现: 预先已知etcd集群中有哪 ...

  2. Maven:repositories、distributionManagement、pluginRepositories中repository的区别

    本文链接:https://blog.csdn.net/netyeaxi/article/details/95804076 目录 一.repositories中的repository 二.distrib ...

  3. 1、VUE介绍

    1.VUE简介 最近一段时间,Web前端领域出现了很多MVVM框架技术,如AngularJS.React,VUE.js等等. Vue.js借鉴了AngularJS的设计理念,也吸取了React和Ang ...

  4. SecureCRT上传本地文件到linux

    1.使用crt登录到需要操作的linux系统 2.按Alt+P打开sftp传输界面 3.输入pur指令加文件路径,例如:put E://srs-3.0.zip按enter就可以 4.再返回crt界面, ...

  5. RabbitMQ学习之Routing(4)

    上一节,是广播日志message到很多的receivers. 这节,我们讲订阅其中的一个子集.例如,我们想可以把危机的error message导到log file.而仍然可以打印所有的log mes ...

  6. C++ 中的静态成员函数与静态成员变量

    于CSDN 2014-01-17 与静态数据成员一样,静态成员函数是类的一部分,而不是对象的一部分.如果要在类外调用公用的静态成员函数,要用类名和域运算符"∷".如Box∷volu ...

  7. Vue学习之动画小结(六)

    一.Vue中实现动画的方式:https://cn.vuejs.org/v2/guide/transitions.html Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括 ...

  8. 小tips:TCP的三次握手、长连接、 短连接、 SPDY 协议

    当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的,而释放则需 ...

  9. Swaks绕过SPF验证进行邮件伪造

    0x00 swaks简介 Swaks是一个功能强大,灵活,可编写脚本,面向事务的SMTP测试工具,由John Jetmore编写和维护. 目前Swaks托管在私有svn存储库中.官方项目页面是http ...

  10. centos逻辑卷使用

    要求:  1.硬盘格式成物理卷pvpvcreate/dev/sdb/dev/sda 2.创建卷组vgcreatevg1000/dev/sdb1/dev/sdb2#创建卷组”vg1000” 3.增加卷组 ...