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 相关文章推荐
客户端脚本中常常出现的一些问题和调试技巧
Jan 09 Javascript
JavaScript中SQL语句的应用实现
May 04 Javascript
JavaScript学习笔记之获取当前目录的实现代码
Dec 14 Javascript
jQuery中获取checkbox选中项等操作及注意事项
Nov 24 Javascript
js控制分页打印、打印分页示例
Feb 08 Javascript
JavaScript 封装一个tab效果源码分享
Sep 15 Javascript
使用jsonp实现跨域获取数据实例讲解
Dec 25 Javascript
微信小程序之picker日期和时间选择器
Feb 09 Javascript
vue小白入门教程
Apr 02 Javascript
使用p5.js临摹动态图片
Nov 04 Javascript
如何使用webpack打包一个库library的方法步骤
Dec 18 Javascript
create-react-app开发常用配置教程
Jun 25 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
TMDPHP 模板引擎使用教程
2012/03/13 PHP
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
2014/08/25 PHP
Apache启动报错No space left on device: AH00023该怎么解决
2015/10/16 PHP
CI框架(CodeIgniter)公共模型类定义与用法示例
2017/08/10 PHP
yii框架数据库关联查询操作示例
2019/10/14 PHP
javascript实现轮显新闻标题链接
2007/08/13 Javascript
jQuery登陆判断简单实现代码
2013/04/21 Javascript
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
jQuery学习笔记之toArray()
2014/06/09 Javascript
推荐8款jQuery轻量级树形Tree插件
2014/11/12 Javascript
jQuery消息提示框插件Tipso
2015/05/04 Javascript
深入浅析search 搜索框的写法
2016/08/02 Javascript
JavaScript实现复制文章自动添加版权
2016/08/02 Javascript
微信小程序 火车票查询实例讲解
2016/10/17 Javascript
Bootstrap基本组件学习笔记之进度条(15)
2016/12/08 Javascript
Kotlin学习第一步 kotlin语法特性
2017/05/25 Javascript
Bootstrap实现的标签页内容切换显示效果示例
2017/05/25 Javascript
Node.js 8 中的 util.promisify的详解
2017/06/12 Javascript
微信JS SDK接入的几点注意事项(必看篇)
2017/06/23 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
2017/07/05 Javascript
jQuery实现参数自定义的文字跑马灯效果
2018/08/15 jQuery
说说Vue.js中的functional函数化组件的使用
2019/02/12 Javascript
关于Vue源码vm.$watch()内部原理详解
2019/04/26 Javascript
[04:48]DOTA2亚洲邀请赛林书豪为VGJ加油
2017/04/01 DOTA
Python实现的从右到左字符串替换方法示例
2018/07/06 Python
python Pexpect 实现输密码 scp 拷贝的方法
2019/01/03 Python
python实现根据文件格式分类
2019/10/31 Python
django 数据库返回queryset实现封装为字典
2020/05/19 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
经理秘书岗位职责
2013/11/14 职场文书
电信营业员自我评价分享
2014/01/17 职场文书
关于人生的感言
2014/01/17 职场文书
golang通过递归遍历生成树状结构的操作
2021/04/28 Golang
利用python调用摄像头的实例分析
2021/06/07 Python
PostgreSQL之连接失败的问题及解决
2023/05/08 PostgreSQL