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 相关文章推荐
jquery 锁定弹出层实现代码
Feb 23 Javascript
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
Jun 02 Javascript
Node.js抓取中文网页乱码问题和解决方法
Feb 10 Javascript
js简单判断flash是否加载完成的方法
Jun 21 Javascript
vue.js利用Object.defineProperty实现双向绑定
Mar 09 Javascript
ES6正则表达式的一些新功能总结
May 09 Javascript
JQuery判断正整数整理小结
Aug 21 jQuery
React.js绑定this的5种方法(小结)
Jun 05 Javascript
JavaScript学习笔记之数组基本操作示例
Jan 09 Javascript
原生js+css实现tab切换功能
Sep 17 Javascript
在antd Table中插入可编辑的单元格实例
Oct 28 Javascript
vue使用echarts图表自适应的几种解决方案
Dec 04 Vue.js
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
PHP实现统计在线人数功能示例
2016/10/15 PHP
jquery 最简单易用的表单验证插件
2010/02/27 Javascript
jquery判断小数点两位和自动删除小数两位后的数字
2014/03/19 Javascript
让table变成exls的示例代码
2014/03/24 Javascript
js限制文本框只能输入数字方法小结
2014/06/16 Javascript
js中将String转换为number以便比较
2014/07/08 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)
2016/03/14 Javascript
Vue.js基础知识小结
2017/01/13 Javascript
jquery滚动条插件slimScroll使用方法
2017/02/09 Javascript
微信小程序 生命周期函数详解
2017/05/24 Javascript
vue项目如何刷新当前页面的方法
2018/05/18 Javascript
详解小程序原生使用ES7 async/await语法
2018/08/06 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
2019/01/21 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
webpack4从0搭建组件库的实现
2020/11/29 Javascript
python比较2个xml内容的方法
2015/05/11 Python
浅谈Python中函数的参数传递
2016/06/21 Python
Python3中使用PyMongo的方法详解
2017/07/28 Python
python+selenium实现登录账户后自动点击的示例
2017/12/22 Python
python实现日常记账本小程序
2018/03/10 Python
django 删除数据库表后重新同步的方法
2018/05/27 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
2018/08/07 Python
python 基于wx实现音乐播放
2020/11/24 Python
python二维图制作的实例代码
2020/12/03 Python
使用gunicorn部署django项目的问题
2020/12/30 Python
复古斯堪的纳维亚儿童服装:Baby go Retro
2017/09/09 全球购物
英国电子产品购物网站:TobyDeals
2018/07/30 全球购物
美国儿童珠宝在线零售商:Loveivy
2019/05/22 全球购物
美国爆米花工厂:The Popcorn Factory
2019/09/14 全球购物
健康教育评估方案
2014/05/25 职场文书
关于运动会的广播稿(10篇)
2014/09/12 职场文书
课堂打架检讨书200字
2014/11/21 职场文书
优秀校长事迹材料
2014/12/24 职场文书
2019年警察入党转正申请书最新范文
2019/09/03 职场文书
Python创建SQL数据库流程逐步讲解
2022/09/23 Python