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 相关文章推荐
取得一定长度的内容,处理中文
Dec 20 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
Feb 27 Javascript
基于jquery的跟随屏幕滚动代码
Jul 24 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
Sep 10 Javascript
ExtJS4中使用mixins实现多继承示例
Dec 03 Javascript
基于Jquery实现表单验证
Jul 20 Javascript
JS限定手机版中图片大小随分辨率自动调整的方法
Dec 05 Javascript
jQuery实现的文字逐行向上间歇滚动效果示例
Sep 06 jQuery
vue框架搭建之axios使用教程
Jul 11 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
Aug 12 Javascript
vue+Element-ui实现分页效果
Nov 15 Javascript
JS前端canvas交互实现拖拽旋转及缩放示例
Aug 05 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中使用url传递数组的方法
2015/02/11 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】
2019/04/16 PHP
php实现简单的守护进程创建、开启与关闭操作
2019/08/13 PHP
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
JQuery的ajax获取数据后的处理总结(html,xml,json)
2010/07/14 Javascript
JQuyer $.post 与 $.ajax 访问WCF ajax service 时的问题需要注意的地方
2011/09/20 Javascript
Javascript 鼠标移动上去小三角形滑块缓慢跟随效果
2013/04/26 Javascript
jQuery实现的导航下拉菜单效果
2016/07/04 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
微信小程序 刷新上拉下拉不会断详细介绍
2017/05/11 Javascript
Javasript设计模式之链式调用详解
2018/04/26 Javascript
用react-redux实现react组件之间数据共享的方法
2018/06/08 Javascript
vue实现通讯录功能
2018/07/14 Javascript
vue组件之间通信方式实例总结【8种方式】
2019/02/22 Javascript
vue项目创建步骤及路由router
2020/01/14 Javascript
详解JavaScript 高阶函数
2020/09/14 Javascript
[05:48]DOTA2英雄梦之声vol21 屠夫
2014/06/20 DOTA
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
[01:00] DOTA2英雄背景故事第五期之重力引力法则谜团
2020/07/16 DOTA
Python实现的用户登录系统功能示例
2018/02/05 Python
Python3删除排序数组中重复项的方法分析
2019/01/31 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
HTML5实现音频和视频嵌入的方法
2018/08/22 HTML / CSS
泰国综合购物网站:Lazada泰国
2018/04/09 全球购物
瑞士灯具购物网站:Lampenwelt.ch
2018/07/08 全球购物
美体小铺印度官网:The Body Shop印度
2019/10/17 全球购物
The North Face官方旗舰店:美国著名户外品牌
2020/09/28 全球购物
毕业生自荐信的主要内容
2013/10/29 职场文书
美术专业个人自我评价
2014/01/18 职场文书
汽修专业自荐信
2014/07/07 职场文书
商场营业员岗位职责
2015/04/14 职场文书
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers
win sever 2022如何占用操作主机角色
2022/06/25 Servers