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实现动态增加删除表格行(兼容IE/FF)
Apr 02 Javascript
JQuery教学之性能优化
May 14 Javascript
jQuery插件bxSlider实现响应式焦点图
Apr 12 Javascript
谈谈impress.js初步理解
Sep 09 Javascript
js类式继承与原型式继承详解
Apr 07 Javascript
javascript实现列表切换效果
May 02 Javascript
JS简单实现自定义右键菜单实例
May 31 Javascript
微信小程序-滚动消息通知的实例代码
Aug 03 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
Sep 26 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
Feb 13 jQuery
通过jQuery学习js类型判断的技巧
May 27 jQuery
Express 配置HTML页面访问的实现
Nov 01 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错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
修改apache配置文件去除thinkphp url中的index.php
2014/01/17 PHP
MyEclipse常用配置图文教程
2014/09/11 PHP
php实现将Session写入数据库
2015/07/26 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
关于document.cookie的使用javascript
2010/10/29 Javascript
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
2014/01/15 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
2014/02/12 Javascript
jquery+php实现搜索框自动提示
2014/11/28 Javascript
使用javaScript动态加载Js文件和Css文件
2015/10/24 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
详解js运算符单竖杠“|”与“||”的用法和作用介绍
2016/11/04 Javascript
jQuery实现的浮动层div浏览器居中显示效果
2017/02/03 Javascript
vue.js的提示组件
2017/03/02 Javascript
静态页面实现 include 引入公用代码的示例
2017/09/25 Javascript
Angular2监听页面大小变化的解决方法
2017/10/09 Javascript
Vue 父子组件数据传递的四种方式( inheritAttrs + $attrs + $listeners)
2018/05/04 Javascript
react native 文字轮播的实现示例
2018/07/27 Javascript
django中使用vue.js的要点总结
2019/07/07 Javascript
JS实现可控制的进度条
2020/03/25 Javascript
Vue 组件复用多次自定义参数操作
2020/07/27 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
[56:14]Fnatic vs OG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
在pycharm中使用git版本管理以及同步github的方法
2019/01/16 Python
python3下载抖音视频的完整代码
2019/06/05 Python
草莓网化妆品澳大利亚站:Strawberrynet AU
2017/12/18 全球购物
介绍一下write命令
2012/09/24 面试题
《春到梅花山》教学反思
2014/04/16 职场文书
小学二年级评语
2014/04/21 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书
2014年城市管理工作总结
2014/12/02 职场文书
dubbo服务整合zipkin详解
2021/07/26 Java/Android
centos7安装mysql5.7经验记录
2022/05/02 Servers