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语言教程控件模板的模板绑定 控件模板的模板绑定 为了可以轻松更改控件模板中控件上的属性值,可以在控件模板中实现模板绑定功能.模板绑定允许控件模板中的控件将数据绑定到公共属性上. ...
随机推荐
- Cglib 与 JDK动态代理
作者:xiaolyuh 时间:2019/09/20 09:58 AOP 代理的两种实现: jdk是代理接口,私有方法必然不会存在在接口里,所以就不会被拦截到: cglib是子类,private的方法照 ...
- 【mysql】获取某个表所有列名【mybatis】
方法1:[仅指定表名] select COLUMN_NAME from information_schema.COLUMNS where table_name = 'your-table-name'; ...
- java中System.err.print和System.out.print区别
System.err.print 是报错专用输输出,有颜色标记,所有err打印的都在顶行输出 System.out.print 是标准输出,白底黑字 package iobuffer; pu ...
- 可落地的DDD(3)-如何利用DDD进行微服务的划分
摘要 前面两篇介绍了DDD的目标管理.DDD的工程结构调整.这篇讨论微服务的划分.微服务是目前后端比较流行的架构体系了,那么如何做好一个微服务的划分?一个微服务的粒度应该是多大呢?这篇主要介绍如何结合 ...
- jwt的简单使用
目录 简介 java版本 golang版本 简介 使用jwt对数据进行存储加密,分为java和golang版本. java版本 maven配置 <dependency> <group ...
- 关于注解sql和动态sql的写法
注解写sql一般写在mapper层,如果sql语句复杂建议不要写注解sql 拼接容易出错 二动态sql的话要在 main 下面创建一个resource ——mapper—— Mapper.xml 再在 ...
- 修改host文件加速访问github
修改本地电脑系统 hosts 文件C:\Windows\System32\drivers\etc,直接在最后加入以下代码 192.30.253.112 github.com 192.30.253.11 ...
- Git 多人协作 以及推送分支
参考链接:https://www.liaoxuefeng.com/wiki/896043488029600/900375748016320 当你从远程仓库克隆时,实际上Git自动把本地的仓库的mast ...
- linux基础命令汇总
目录 linux系统结构 常用命令 切换目录命令cd 文件操作 vi和vim编辑器 重定向输出>和>> 管道 | &&命令执行控制 网络通讯命令 系统管理命令 用户和 ...
- dubbo循序渐进 - 什么是RPC
RPC的核心并不在于使用什么协议.RPC的目的是让你在本地调用远程的方法,而对你来说这个调用是透明的,你并不知道这个调用的方法是部署哪里.通过RPC能解耦服务,这才是使用RPC的真正目的.RPC的原理 ...