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 相关文章推荐
符合标准的js表单提交的代码
Sep 13 Javascript
javascript下判断一个元素是否存在的代码
Mar 05 Javascript
一行代码实现纯数据json对象的深度克隆实现思路
Jan 09 Javascript
jQuery计算textarea中文字数(剩余个数)的小程序
Nov 28 Javascript
js实现文字滚动效果
Mar 03 Javascript
Sea.JS知识总结
May 05 Javascript
在Docker快速部署Node.js应用的详细步骤
Sep 02 Javascript
input输入密码变黑点密文的实现方法
Jan 09 Javascript
jQuery制作图片旋转效果
Feb 02 Javascript
JS交互点击WKWebView中的图片实现预览效果
Jan 05 Javascript
解决JavaScript layui 下拉框不显示的问题
Aug 14 Javascript
JavaScript实现通讯录功能
Dec 27 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
别人整理的服务器变量:$_SERVER
2006/10/20 PHP
获取URL地址中的文件名和参数的javascript代码
2009/09/02 Javascript
javascript 跳转代码集合
2009/12/03 Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
Jquery解析Json格式数据过程代码
2014/10/17 Javascript
JavaScript常用的返回,自动跳转,刷新,关闭语句汇总
2015/01/13 Javascript
JS随机调用指定函数的方法
2015/07/01 Javascript
jQuery简单实现仿京东商城的左侧菜单效果代码
2015/09/09 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
vue.js初学入门教程(2)
2016/11/07 Javascript
Bootstrap基本插件学习笔记之Popover提示框(19)
2016/12/08 Javascript
Vue.js中用webpack合并打包多个组件并实现按需加载
2017/02/17 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
JavaScript实现三级联动菜单实例代码
2017/06/26 Javascript
Angular 2父子组件之间共享服务通信的实现
2017/07/04 Javascript
js封装成插件的步骤方法
2017/09/11 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
2018/01/23 jQuery
你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)
2019/04/15 Javascript
Vue-router 报错NavigationDuplicated的解决方法
2020/03/31 Javascript
详解JavaScript中分解数字的三种方法
2021/01/05 Javascript
详解Python实现按任意键继续/退出的功能
2016/08/19 Python
python+matplotlib演示电偶极子实例代码
2018/01/12 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
Python3实现汉语转换为汉语拼音
2019/07/08 Python
Tornado实现多进程/多线程的HTTP服务详解
2019/07/25 Python
使用Python将图片转正方形的两种方法实例代码详解
2020/04/29 Python
input file上传文件样式支持html5的浏览器解决方案
2012/11/14 HTML / CSS
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
护士自荐信范文
2013/12/15 职场文书
学校三八妇女节活动情况总结
2014/03/09 职场文书
家长会主持词
2014/03/26 职场文书
叶问观后感
2015/06/15 职场文书
2015入党自传格式范文
2015/06/26 职场文书
有关浪费资源的建议书
2015/09/14 职场文书
党员反四风学习心得体会
2016/01/22 职场文书
销售会议开幕词
2016/03/04 职场文书