vue2.0数据双向绑定与表单bootstrap+vue组件


Posted in Javascript onFebruary 27, 2017

最近一直在用vue,觉得确实是好用。

一,拿数据的双向绑定来说吧

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>demo1</title>
</head>
<body>
  <div id="app">
{{ name }}
    <input type="text" v-model="name">
  </div>
</body>
<script type="text/javascript" src="vue.js"></script>
<script>
  new Vue({
    el: '#app',
    data: {
      name: ''
    },
    watch: {
      name: function () {
        console.log(this.name);
      }
    }
  });
</script>
</html>

vue2.0数据双向绑定与表单bootstrap+vue组件

vue中的所有数据都是在data中定义的,

el是指的挂载的元素,

watch 是我可以检测某个数据的变化。

v-model=“name” 就是与data中的name数据绑定,input框中的值变,那么data中的name也会变,我们可以通过差值操作,也就是{{name}}来看到变化,当然也可以像我一样打log。都是可以的。

当然这样也许还不是很实用,官网上也是这么介绍的,那么就说我在工作中是怎么用的吧

vue2.0数据双向绑定与表单bootstrap+vue组件

现在我的需求是要得到我表单里边的所有value ,我们也许可以       

let service = $('.vendor').val();
        let vendor = document.getElementsByClassName('vendor')[0].value;

但是这样就完全没有get到vue双向绑定的好处了,那么我们该怎么做呢?

import service from './components/service.vue';
  import $ from 'jquery';
  export default {
    data () {
      return {
        resultData: '',
        vendor: '',
        dType: '',
        services: [service],
        items: [service],
        device: '',
        dDesc: ''
      }
    },
    watch: {
      services () {
        console.log(this.services);
      },
      items (val) {
        this.items = val;
        console.log(this.items);
      }
    },
    components: {
      service
    },
    methods: {
      addService (component) {
        this.items.push(component);
      },
      childServicesChange (val) {
        this.services = val;
      },
      commit () {
        console.log('commit');
        let device = {
          "type": 'urn:' + this.vendor + ':device:' + this.dType + ':0000',
          "description": this.dDesc,
          "services": this.items
        };

看到没,我就是直接用的this.vendor, vendor是在data中定义好的,也进行了双向绑定v-model

<template>
  <div class="devDesc">

     Device Description

<form class="form-horizontal" role="form" ref="form" id="form">
    <div class="form-group">
      <label for="vendor" class="col-sm-2 control-label text-left">vendor:</label>
      <div class="col-sm-2">
        <input type="text" class="form-control vendor" id="vendor" v-model="vendor" control-label name="vendor">
      </div>
    </div>
    <div class="form-group">
      <label for="dType" class="col-sm-2 control-label text-left">Type:</label>
      <div class="col-sm-2">
        <input type="text" class="form-control dType" id="dType" v-model="dType" control-label name="dType">
      </div>
    </div>
    <div class="form-group">
      <label for="dDesc" class="col-sm-2 control-label text-left">description:</label>
      <div class="col-sm-2">
        <input type="text" class="form-control dDesc" id="dDesc" v-model="dDesc" control-label name="dDesc">
      </div>
    </div>
      <!--<serList class="serListPad" :services="services" @services-change="servicesChange">-->
      <!--</serList>-->
      <!--发现这个serList不用抽出来组件-->
    <div class="serList serListPad">
      <section class="serList-section">
          <span class="span-serList">service List</span>
          <button type="button" class="btn btn-default btn-sm" @click="addService(service)">
            <span class="glyphicon glyphicon-plus"></span>
          </button>
      </section>
      <!--<service v-for="item in items" :items="items" :myService="myService" @child-services-change="childServicesChange"></service>-->
      <div v-for="service in services">
        <service v-for="item in items" :items="items" :service="service" @child-services-change="childServicesChange"></service>
      </div>
    </div>
    </form>
    <button class="btn btn-info" @click="commit">commit</button>
    <button class="btn btn-success">save</button>
  </div>
</template>

vue2.0数据双向绑定与表单bootstrap+vue组件

以上所述是小编给大家介绍的vue2.0数据双向绑定与表单bootstrap+vue组件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
分享十五个最佳jQuery 幻灯插件和教程
Mar 27 Javascript
jquery 新手学习常见问题解决方法
Apr 18 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
Apr 17 Javascript
JavaScript实现MIPS乘法模拟的方法
Apr 17 Javascript
js显示文本框提示文字的方法
May 07 Javascript
Javascript HTML5 Canvas实现的一个画板
Apr 12 Javascript
全面解析Bootstrap中form、navbar的使用方法
May 30 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
Aug 11 Javascript
jQuery动态添加元素无法触发绑定事件的解决方法分析
Jan 02 jQuery
Javascript实现运算符重载详解
Apr 07 Javascript
JavaScript 装逼指南(js另类写法)
May 10 Javascript
js实现盒子拖拽动画效果
Aug 09 Javascript
flag和jq on 的绑定多个对象和方法(必看)
Feb 27 #Javascript
利用Node.js+Koa框架实现前后端交互的方法
Feb 27 #Javascript
详谈js中数组(array)和对象(object)的区别
Feb 27 #Javascript
JS区分Object与Aarry的六种方法总结
Feb 27 #Javascript
利用Vue.js框架实现火车票查询系统(附源码)
Feb 27 #Javascript
JavaScript中object和Object的区别(详解)
Feb 27 #Javascript
jQuery使用DataTable实现删除数据后重新加载功能
Feb 27 #Javascript
You might like
使用php批量删除数据库下所有前缀为prefix_的表
2014/06/09 PHP
php实现word转html的方法
2016/01/22 PHP
Zend Framework动作助手FlashMessenger用法详解
2016/03/05 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
PHP code 验证码生成类定义和简单使用示例
2020/05/27 PHP
JavaScript初学者需要了解10个小技巧
2010/08/25 Javascript
javascript设计模式 封装和信息隐藏(上)
2012/07/24 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
2012/12/27 Javascript
js如何取消事件冒泡
2013/09/23 Javascript
JS连连看源码完美注释版(推荐)
2013/12/09 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
开源的javascript项目Kissy介绍
2014/11/28 Javascript
jqGrid中文文档之选项设置
2015/12/02 Javascript
jQuery mobile类库使用时加载导航历史的方法简介
2015/12/04 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
javascript动画系列之模拟滚动条
2016/12/13 Javascript
浅谈javascript的闭包
2017/01/23 Javascript
vue.js+Echarts开发图表放大缩小功能实例
2017/06/09 Javascript
使用Javascript简单计算器
2018/11/17 Javascript
Vue项目安装插件并保存
2019/01/28 Javascript
vue基本使用--refs获取组件或元素的实例
2019/11/07 Javascript
JavaScript中如何调用Java方法
2020/09/16 Javascript
编写Python脚本来实现最简单的FTP下载的教程
2015/05/04 Python
Pycharm 字体大小调整设置的方法实现
2019/09/27 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
Python嵌套函数,作用域与偏函数用法实例分析
2019/12/26 Python
新手学习Python2和Python3中print不同的用法
2020/06/09 Python
详解python datetime模块
2020/08/17 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
美国棒球装备和用品商店:Baseball Savings
2018/06/09 全球购物
澳大利亚便宜隐形眼镜购买网站:QUICKLENS Australia
2018/10/06 全球购物
Myprotein法国官网:欧洲第一运动营养品牌
2019/03/26 全球购物
大学生求职简历的自我评价
2013/10/14 职场文书
2015年酒店工作总结范文
2015/04/07 职场文书
解决python存数据库速度太慢的问题
2021/04/23 Python