VUE专题(一)vue2金沙官网线上.0数据双向绑定

当对象内的某一个元素发生变化,判断对象另一元素,并进行赋值

现在我的需求是要得到我表单里边的所有value ,我们也许可以
<pre> let service = $('.vendor').val();
let vendor = document.getElementsByClassName('vendor')[0].value;</pre>
但是这样就完全没有get到vue双向绑定的好处了,那么我们该怎么做呢?
<pre>import service from './components/service.vue';
import $ from 'jquery';

        if(val.a1.a12<val.a2.a22){

金沙官网线上 1

  <input type="text" v-model="a.a1.a12"/>{{a.a1.a12}}

表单

  <input type="text" v-model="a.a2.a22"/>{{a.a2.a22}}

很久没有动手写过文章了,今天简书推送有3个人喜欢了我的文章,我很是惊讶,毕竟这么久没更了。说明我写的东西还是对大家有帮助的。

  watch:{

log

          a22:15

金沙官网线上 2

 

vue中的所有数据都是在data中定义的,
el是指的挂载的元素,
watch 是我可以检测某个数据的变化。
v-model=“name” 就是与data中的name数据绑定,input框中的值变,那么data中的name也会变,我们可以通过差值操作,也就是{{name}}来看到变化,当然也可以像我一样打log。都是可以的。

      handler(val.oldval){

vue.png

        a1:{

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

  }

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
            };</pre>

  },

看到没,我就是直接用的this.vendor, vendor是在data中定义好的,也进行了双向绑定v-model
<pre><template>
<div class="devDesc">
<h1>Device Description</h1>
<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>

      a:{

vue.png

        a2:{

        <!--发现这个serList不用抽出来组件-->
    <div class="serList serListPad">
        <section class="serList-section">
            <h3>
                service List
                <button type="button" class="btn btn-default btn-sm" @click="addService(service)">

                </button>
            </h3>
        </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>

</template></pre>

          val.a2.a22=val.a1.a12;

最近一直在用vue,觉得确实是好用。
一,拿数据的双向绑定来说吧
<pre><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>demo1</title>
</head>
<body>
<div id="app">
<p>{{ name }}</p>
金沙官网线上,<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></pre>

本文由金沙官网线上发布于Web前端,转载请注明出处:VUE专题(一)vue2金沙官网线上.0数据双向绑定

您可能还会对下面的文章感兴趣: