vue.js声明式渲染和条件与循环基础知识


Posted in Javascript onJuly 31, 2017

vue.js声明式渲染和条件与循环的具体内容,分享给大家

绑定 DOM 元素文本值

html代码:

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

JavaScript代码:

var app = new Vue({
 el: '#app',
 data: {
 message: 'Hello Vue!'
 }
})

运行结果:Hello Vue!

总结:数据和 DOM 已经被关联在一起,当我们改变app.message的数据,所渲染的的DOM元素会相应地更新。

绑定 DOM 元素属性

用v-bind指令绑定span元素的title属性

html代码:

<div id="app-2">
 <span v-bind:title="message">
 鼠标悬停此处几秒,
 可以看到此处动态绑定的 title!
 </span>
</div>

JavaScript代码:

var app2 = new Vue({
 el: '#app-2',
 data: {
 message: '页面加载于 ' + new Date()
 }
})

运行结果:

总结:v-bind 属性被称为指令,是由 Vue 提供的专用属性,该指令的作用就是:“将此元素的 title 属性与 Vue 实例的 message 属性保持关联更新”。当我们改变app2.message的值时,绑定了title属性的元素会进行更新。

条件

用v-if指令判断条件

html代码:

<div id="app-3">
 <p v-if="seen">现在你可以看到我</p>
</div>

JavaScript代码:

var app3 = new Vue({
 el: '#app-3',
 data: {
 seen: true
 }
})

运行结果:你可以看到我

总结:当我们把app3.seen的值改为false以后,我们会看到 span 消失。说明我们不只是可以将数据绑定到文本和属性,也可以将数据绑定到 DOM 结构。从而通过数据的更改实现元素的插入/更新/删除操作。

循环

v-for 指令,可以使用数组中的数据来展示一个项目列表

html代码:

<div id="app-4">
 <ol>
 <li v-for="todo in todos">
 {{ todo.text }}
 </li>
 </ol>
</div>

JavaScript代码:

var app4 = new Vue({
 el: '#app-4',
 data: {
 todos: [
 { text: '学习 JavaScript' },
 { text: '学习 Vue' },
 { text: '创建激动人心的代码' }
 ]
 }
})

运行结果:1.学习 JavaScript
2.学习 Vue
3.创建激动人心的代码

在控制台,输入 app4.todos.push({ text: ‘新的 item' }),你会看到列表中追加了一个新的 item。
总结:可以通过数据确定我们项目列表的长度和内容,从而减少了html的代码量

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
二级域名或跨域共享Cookies的实现方法
Aug 07 Javascript
jQuery之DOM对象和jQuery对象的转换与区别分析
Jan 08 Javascript
js实现改进的仿蓝色论坛导航菜单效果代码
Sep 06 Javascript
jQuery实现网页顶部固定导航效果代码
Dec 24 Javascript
jQuery检查元素存在性(推荐)
Sep 17 Javascript
ES6学习教程之模板字符串详解
Oct 09 Javascript
node通过npm写一个cli命令行工具
Oct 12 Javascript
AnglarJs中的上拉加载实现代码
Feb 08 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
Aug 19 Javascript
vue实现form表单与table表格的数据关联功能示例
Jan 29 Javascript
vue实现后台管理权限系统及顶栏三级菜单显示功能
Jun 19 Javascript
vue.js实现二级菜单效果
Oct 19 Javascript
在ABP框架中使用BootstrapTable组件的方法
Jul 31 #Javascript
knockoutjs模板实现树形结构列表
Jul 31 #Javascript
本地存储localStorage用法详解
Jul 31 #Javascript
Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)
Jul 31 #Javascript
ES6新特性:使用export和import实现模块化详解
Jul 31 #Javascript
node koa2实现上传图片并且同步上传到七牛云存储
Jul 31 #Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
Jul 31 #Javascript
You might like
php文件上传的简单实例
2013/10/19 PHP
使用新浪微博API的OAuth认证发布微博实例
2015/03/27 PHP
TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结
2020/02/10 PHP
PHP获取类私有属性的3种方法
2020/09/10 PHP
一句话JavaScript表单验证代码
2009/08/02 Javascript
数组Array进行原型prototype扩展后带来的for in遍历问题
2010/02/07 Javascript
XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)
2011/01/12 Javascript
教你在heroku云平台上部署Node.js应用
2014/07/30 Javascript
jQuery获得子元素个数的方法
2015/04/14 Javascript
PhantomJS快速入门教程(服务器端的 JavaScript API 的 WebKit)
2015/08/06 Javascript
JavaScript中浅讲ajax图文详解
2016/11/11 Javascript
AngularJS中的缓存使用
2017/01/11 Javascript
Angular 4 依赖注入学习教程之FactoryProvider的使用(四)
2017/06/04 Javascript
Angularjs的键盘事件的绑定
2017/07/27 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
2018/11/02 Javascript
微信小程序使用scroll-view标签实现自动滑动到底部功能的实例代码
2018/11/09 Javascript
初学node.js中实现删除用户路由
2019/05/27 Javascript
python使用fork实现守护进程的方法
2017/11/16 Python
使用Python制作微信跳一跳辅助
2018/01/31 Python
python3判断url链接是否为404的方法
2018/08/10 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
2019/01/30 Python
python中的print()输出
2019/04/12 Python
python 插入日期数据到Oracle实例
2020/03/02 Python
Python3-异步进程回调函数(callback())介绍
2020/05/02 Python
Html5实现首页动态视频背景的示例代码
2019/09/25 HTML / CSS
amazeui页面分析之登录页面的示例代码
2020/08/25 HTML / CSS
亚瑟士美国官网:ASICS美国
2017/02/01 全球购物
美国殿堂级滑板、冲浪、滑雪服装品牌:Volcom(钻石)
2017/04/20 全球购物
运动鞋中的劳斯莱斯:索康尼(SAUCONY)
2017/08/09 全球购物
LODI女鞋在线商店:阿利坎特的鞋类品牌
2019/02/15 全球购物
用C或者C++语言实现SOCKET通信
2015/02/24 面试题
质检员岗位职责
2013/12/17 职场文书
爱心捐款倡议书范文
2014/05/12 职场文书
人力资源管理专业求职信
2014/07/23 职场文书
2014年领班工作总结
2014/11/25 职场文书
电力培训学习心得体会
2016/01/11 职场文书