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 相关文章推荐
基于jquery 的一个progressbar widge
Oct 29 Javascript
javascript中方便增删改cookie的一个类
Oct 11 Javascript
TextArea设置MaxLength属性最大输入值的js代码
Dec 21 Javascript
JavaScript对内存分配及管理机制详细解析
Nov 11 Javascript
js+css实现超简洁的二级下拉菜单效果代码
Sep 07 Javascript
两种js监听滚轮事件的实现方法
May 13 Javascript
js+html5实现canvas绘制椭圆形图案的方法
May 21 Javascript
Javascript发送AJAX请求实例代码
Aug 21 Javascript
jQuery树控件zTree使用方法详解(一)
Feb 28 Javascript
详解node字体压缩插件font-spider的用法
Sep 28 Javascript
js console.log打印对象时属性缺失的解决方法
May 23 Javascript
JavaScript封装单向链表的示例代码
Sep 17 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
UTF8编码内的繁简转换的PHP类
2009/07/09 PHP
PHP 全角转半角实现代码
2010/05/16 PHP
php使用百度ping服务代码实例
2014/06/19 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
PHP实现单文件、多个单文件、多文件上传函数的封装示例
2019/09/02 PHP
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
2010/12/02 Javascript
jQuery简单实现仿京东商城的左侧菜单效果代码
2015/09/09 Javascript
jQuery实现左侧导航模块的显示与隐藏效果
2016/07/04 Javascript
js实现移动端导航点击自动滑动效果
2017/07/18 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
js实现简单选项卡功能
2020/03/23 Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
2018/09/12 Javascript
vue 使用外部JS与调用原生API操作示例
2019/12/02 Javascript
JS写滑稽笑脸运动效果
2020/05/28 Javascript
vue 内联样式style中的background用法说明
2020/08/05 Javascript
原生微信小程序开发中 redux 的使用详解
2021/02/18 Javascript
Python实现把xml或xsl转换为html格式
2015/04/08 Python
详解Python中最难理解的点-装饰器
2017/04/03 Python
python数据结构之链表详解
2017/09/12 Python
Python计算斗牛游戏概率算法实例分析
2017/09/26 Python
numpy找出array中的最大值,最小值实例
2018/04/03 Python
python训练数据时打乱训练数据与标签的两种方法小结
2018/11/08 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
2018/12/16 Python
python对验证码降噪的实现示例代码
2019/11/12 Python
Python Tornado核心及相关原理详解
2020/06/24 Python
如何通过安装HomeBrew来安装Python3
2020/12/23 Python
Exoticca英国:以最优惠的价格提供豪华异国情调旅行
2018/10/18 全球购物
德语专业求职信
2014/03/12 职场文书
知名企业招聘广告词大全
2014/03/18 职场文书
优秀共产党员先进事迹材料
2014/05/06 职场文书
品牌转让协议书
2014/08/20 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
Pandas加速代码之避免使用for循环
2021/05/30 Python
在Python 中将类对象序列化为JSON
2022/04/06 Python
为什么MySQL8新特性会修改自增主键属性
2022/04/18 MySQL