VUE中v-model和v-for指令详解


Posted in Javascript onJune 23, 2017

1.基本雏形

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <script src="https://unpkg.com/vue/dist/vue.js"></script>
  <script type="text/javascript">
    window.onload = function(){
      var vm = new Vue({
        el:'#box',
        data:{
          msg:'Hello Vue!'
        }
      });
    }
  </script>
</head>
<body>
  <div id="box">
    {{msg}}
  </div>
</body>
</html>

需要new一个Vue实例,实例化的时候传入了一个对象{el:'#box',data:{msg:'Hello Vue!'}}。这个意思是:Vue这个只控制id="box"这个DIV元素,同时在 HTML模板上使用双花括号{{xxxx}}语法,来访问data中定义的数据。

上面代码我们new处理一个Vue的实例,并赋值给了vm变量,通过这个vm变量,我们也可以访问其中定义的数据:

var vm = new Vue({
        el:'#box',
        data:{
          msg:'Hello Vue!'
        }
      });

      console.log(vm.msg); //'Hello Vue!'

2.v-model指令

所谓的“指令”其实就是扩展了HTML标签功能(属性)。

v-model的双向数据绑定

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <script src="https://unpkg.com/vue/dist/vue.js"></script>
  <script type="text/javascript">
    window.onload = function(){
      var vm = new Vue({
        el:'#box',
        data:{
          msg:'Hello Vue!'
        }
      });
    }
  </script>
</head>
<body>
  <div id="box">
    <input type="text" v-model="msg"/><br/>
    {{msg}} 
  </div>
</body>
</html>

通过v-model 指令,我们把msg 数据绑定到了input文本框,我们修改文本框的值,发现msg 数据改变了。

VUE中v-model和v-for指令详解

注意:如果我们定义的数据是数组或者json,在模板上会怎样显示出来呢?

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <script src="https://unpkg.com/vue/dist/vue.js"></script>
  <script type="text/javascript">
    window.onload = function(){
      var vm = new Vue({
        el:'#box',
        data:{
          msg:'Hello Vue!',
          arr:['apple','banana','orange'],
          json:{a:'apple',b:'banana'}
        }
      });
    }
  </script>
</head>
<body>
  <div id="box">
    <input type="text" v-model="msg"/><br/>
    {{msg}} <br/>
    {{arr}} <br/>
    {{json}}

  </div>
</body>
</html>

数组和json都被当作字符串输出了,显然这不是我们理想的效果。

VUE中v-model和v-for指令详解 

3.v-for指令

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <meta charset="utf-8">
  <script src="http://unpkg.com/vue/dist/vue.js"></script>

  <script type="text/javascript">
    window.onload = function(){
      var vm = new Vue({
        el:'#box',
        data:{
          arr:['apple','banana','orange'],
          json:{a:'apple',b:'banana'}
        }
      });
    }
  </script>
</head>
<body>
  <div id="box">
    <p>循环数组</p>
    <ul>
      <li v-for="a in arr">
      {{a}}
      </li>
    </ul>
    <hr>
    <p>循环出数组索引</p>
    <ul>
      <li v-for="(v,k) in arr">
      {{v}}==>{{k}}
    </ul>
    <p>循环json</p>
    <ul>
      <li v-for="item in json">{{item}}</li>
    </ul>
    <p>循环json的键</p>
    <ul>
      <li v-for="(k,v) in json">
      {{k}}==>{{v}}
      </li>
    </ul>
  </div>
</body>
</html>

VUE中v-model和v-for指令详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 命名空间以提高代码重用性
Nov 13 Javascript
jquery中邮箱地址 URL网站地址正则验证实例代码
Sep 15 Javascript
jQuery通过Ajax返回JSON数据
Apr 28 Javascript
jQuery选择器用法实例详解
Dec 17 Javascript
jQuery Easyui 验证两次密码输入是否相等
May 13 Javascript
微信小程序 数据遍历的实现
Apr 05 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
Jul 27 Javascript
带你快速理解javascript中的事件模型
Aug 14 Javascript
AngularJS 表单验证手机号的实例(非必填)
Nov 12 Javascript
浅谈HTTP 缓存的那些事儿
Oct 17 Javascript
React中this丢失的四种解决方法
Mar 12 Javascript
vue 防止页面加载时看到花括号的解决操作
Nov 09 Javascript
JavaScript正则表达式简单实用实例
Jun 23 #Javascript
js中的事件委托或是事件代理使用详解
Jun 23 #Javascript
JS判断非空至少输入两个字符的简单实现方法
Jun 23 #Javascript
详解Vue.js之视图和数据的双向绑定(v-model)
Jun 23 #Javascript
微信小程序组件 marquee实例详解
Jun 23 #Javascript
VUE元素的隐藏和显示(v-show指令)
Jun 23 #Javascript
vue数据双向绑定的注意点
Jun 23 #Javascript
You might like
在JavaScript中遭遇级联表达式陷阱
2007/03/08 Javascript
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
javascript 限制输入脚本大全
2009/11/03 Javascript
jquery 新浪网易的评论块制作
2010/07/01 Javascript
新浪微博字数统计 textarea字数统计实现代码
2011/08/28 Javascript
ajax异步刷新实现更新数据库
2012/12/03 Javascript
jQuery的each终止或跳过示例代码
2013/12/12 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
Bootstrap栅格系统学习笔记
2016/11/25 Javascript
JavaScript严格模式详解
2017/01/16 Javascript
基于JQuery及AJAX实现名人名言随机生成器
2017/02/10 Javascript
微信小程序中使用javascript 回调函数
2017/05/11 Javascript
vue项目实战总结篇
2018/02/11 Javascript
基于jquery实现左右上下移动效果
2018/05/02 jQuery
vue里面v-bind和Props 利用props绑定动态数据的方法
2018/08/27 Javascript
vue2.0结合Element-ui实战案例
2019/03/06 Javascript
详解JS判断页面是在手机端还是在PC端打开的方法
2019/04/26 Javascript
小程序实现层叠卡片滑动效果
2019/08/26 Javascript
[49:21]2018DOTA2亚洲邀请赛3月30日 小组赛B组 Effect VS iG
2018/03/31 DOTA
王纯业的Python学习笔记 下载
2007/02/10 Python
Python实现定时精度可调节的定时器
2018/04/15 Python
浅谈python3发送post请求参数为空的情况
2018/12/28 Python
对Python捕获控制台输出流的方法详解
2019/01/07 Python
利用Python优雅的登录校园网
2020/10/21 Python
基于python实现坦克大战游戏
2020/10/27 Python
个人自我鉴定
2013/11/07 职场文书
师范毕业生个人求职信
2013/12/09 职场文书
失业者真诚求职信范文
2013/12/25 职场文书
2014年绩效考核工作总结
2014/12/11 职场文书
南湾猴岛导游词
2015/02/09 职场文书
终止劳动合同通知书
2015/04/16 职场文书
教师节老师寄语
2015/05/28 职场文书
公司仓库管理制度
2015/08/04 职场文书
银行柜员工作心得体会
2016/01/23 职场文书
干货分享:推荐信写作技巧!
2019/06/21 职场文书
为什么MySQL 删除表数据 磁盘空间还一直被占用
2021/10/16 MySQL