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 相关文章推荐
由JavaScript中call()方法引发的对面向对象继承机制call的思考
Sep 12 Javascript
Javascript中Array.prototype.map()详解
Oct 22 Javascript
jQuery+jsp下拉框联动获取本地数据的方法(附源码)
Dec 03 Javascript
剖析Node.js异步编程中的回调与代码设计模式
Feb 16 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
Nov 18 Javascript
EasyUI折叠表格层次显示detailview详解及实例
Dec 28 Javascript
JS中实现函数return多个返回值的实例
Feb 21 Javascript
vue-cli3添加模式配置多环境变量的方法
Jun 05 Javascript
JavaScript迭代器的含义及用法
Jun 21 Javascript
微信小程序利用button控制条件标签的变量问题
Mar 15 Javascript
vue项目,代码提交至码云,iconfont的用法说明
Jul 30 Javascript
Vue与React的区别和优势对比
Dec 18 Vue.js
在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
古巴咖啡 Cubita琥爵咖啡 独特的加勒比海风味咖啡
2021/03/06 新手入门
在线竞拍系统的PHP实现框架(一)
2006/10/09 PHP
php下几个常用的去空、分组、调试数组函数
2009/02/22 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
PHP设计模式之迭代器模式
2016/06/17 PHP
js中将具有数字属性名的对象转换为数组
2011/03/06 Javascript
javascript实现添加附件功能的方法
2015/11/18 Javascript
剖析Node.js异步编程中的回调与代码设计模式
2016/02/16 Javascript
浅谈js数据类型判断与数组判断
2016/08/29 Javascript
简单实现nodejs上传功能
2017/01/14 NodeJs
Node.js调试技术总结分享
2017/03/12 Javascript
微信小程序scroll-view组件实现滚动动画
2018/01/31 Javascript
详解Vue单元测试case写法
2018/05/24 Javascript
解决微信小程序防止无法回到主页的问题
2018/09/28 Javascript
jQuery ajax仿Google自动提示SearchSuggess功能示例
2019/03/28 jQuery
axios 实现post请求时把对象obj数据转为formdata
2019/10/31 Javascript
jQuery实时统计输入框字数及限制
2020/06/24 jQuery
Vue 组件注册全解析
2020/12/17 Vue.js
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
python实现文件快照加密保护的方法
2015/06/30 Python
使用Python脚本将文字转换为图片的实例分享
2015/08/29 Python
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
浅谈Python由__dict__和dir()引发的一些思考
2017/10/30 Python
Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法
2018/03/13 Python
numpy中loadtxt 的用法详解
2018/08/03 Python
Python绘制的二项分布概率图示例
2018/08/22 Python
pyqt远程批量执行Linux命令程序的方法
2019/02/14 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
Python 读取有公式cell的结果内容实例方法
2020/02/17 Python
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
社区优秀志愿者先进事迹
2014/05/09 职场文书
公司运动会策划方案
2014/05/25 职场文书
办公经费申请报告
2015/05/15 职场文书
现货白银电话营销话术
2015/05/29 职场文书
国情备忘录观后感
2015/06/04 职场文书