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来实现动画导航效果的代码
Dec 16 Javascript
js parentElement和offsetParent之间的区别
Mar 23 Javascript
jquery 无限级下拉菜单的简单实现代码
Feb 21 Javascript
JavaScript调试技巧之console.log()详解
Mar 19 Javascript
javascript笛卡尔积算法实现方法
Apr 08 Javascript
Backbone.js框架中Model与Collection的使用实例
May 07 Javascript
很棒的Bootstrap选项卡切换效果
Jul 01 Javascript
微信小程序用户信息encryptedData详解
Aug 24 Javascript
Javascript实现时间倒计时功能
Nov 17 Javascript
javascript中的event loop事件循环详解
Dec 14 Javascript
layer.open弹层查看缩略图的原图,自适应大小的实例
Sep 05 Javascript
Javascript实现单选框效果
Dec 09 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完全过滤HTML,JS,CSS等标签
2009/01/16 PHP
php中大括号作用介绍
2012/03/22 PHP
提高PHP编程效率的方法
2013/11/07 PHP
PHP图形操作之Jpgraph学习笔记
2015/12/25 PHP
纯js实现遮罩层效果原理分析
2014/05/27 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
2015/09/15 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
改变checkbox默认选中状态及取值的实现代码
2016/05/26 Javascript
Bootstrap学习笔记之css样式设计(1)
2016/06/07 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
微信小程序 页面跳转如何实现传值
2017/04/05 Javascript
JS实现移动端实时监听输入框变化的实例代码
2017/04/12 Javascript
JS随机数产生代码分享
2018/02/24 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
在JavaScript中查找字符串中最长单词的三种方法(推荐)
2021/01/18 Javascript
Python自定义scrapy中间模块避免重复采集的方法
2015/04/07 Python
python实现比较两段文本不同之处的方法
2015/05/30 Python
Python工程师面试题 与Python Web相关
2016/01/14 Python
python dict.get()和dict['key']的区别详解
2016/06/30 Python
Python中str is not callable问题详解及解决办法
2017/02/10 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
2018/01/09 Python
python抽取指定url页面的title方法
2018/05/11 Python
pygame游戏之旅 游戏中添加显示文字
2018/11/20 Python
Python基于Tkinter模块实现的弹球小游戏
2018/12/27 Python
wxPython电子表格功能wx.grid实例教程
2019/11/19 Python
纯HTML5+CSS3制作生日蛋糕代码
2016/11/16 HTML / CSS
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
HTML5 window/iframe跨域传递消息 API介绍
2013/08/26 HTML / CSS
速比涛英国官网:Speedo英国
2019/07/15 全球购物
大学生旷课检讨书
2014/01/22 职场文书
奥巴马胜选演讲稿
2014/05/15 职场文书
公司2015年终工作总结
2015/05/26 职场文书
python中的装饰器该如何使用
2021/06/18 Python
使用feign服务调用添加Header参数
2021/06/23 Java/Android
CSS使用Flex和Grid布局实现3D骰子
2022/08/05 HTML / CSS