Maison > interface Web > js tutoriel > le corps du texte

liaison bidirectionnelle de données vue2.0 et composant vue d'amorçage de formulaire

高洛峰
Libérer: 2017-02-28 14:11:31
original
2642 Les gens l'ont consulté

J'utilise vue récemment et je pense que c'est vraiment facile à utiliser.

Tout d'abord, prenons la liaison bidirectionnelle des données

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

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

Toutes les données en vue sont définies dans data,

el fait référence à l'élément monté,

watch est ce que je peux détecter les changements dans certaines données .

v-model=“name” est lié aux données de nom dans les données. Si la valeur dans la zone de saisie change, le nom dans les données changera également, c'est-à-dire {{name. }} Lorsque vous voyez des changements, vous pouvez bien sûr vous connecter comme moi. Tout est possible.

Bien sûr, cela n'est peut-être pas très pratique, il est également présenté sur le site officiel, alors parlons de la façon dont je l'utilise au travail

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

Maintenant I L'exigence est d'obtenir toutes les valeurs dans mon formulaire. Nous pourrons peut-être bénéficier des avantages de la liaison bidirectionnelle de vue, alors que devrions-nous faire ?

 let service = $(&#39;.vendor&#39;).val();
        let vendor = document.getElementsByClassName(&#39;vendor&#39;)[0].value;
Copier après la connexion


Vous voyez, je viens d'utiliser this.vendor directement. Le fournisseur est défini dans les données et est également bidirectionnel. 🎜>

import service from &#39;./components/service.vue&#39;;
  import $ from &#39;jquery&#39;;
  export default {
    data () {
      return {
        resultData: &#39;&#39;,
        vendor: &#39;&#39;,
        dType: &#39;&#39;,
        services: [service],
        items: [service],
        device: &#39;&#39;,
        dDesc: &#39;&#39;
      }
    },
    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(&#39;commit&#39;);
        let device = {
          "type": &#39;urn:&#39; + this.vendor + &#39;:device:&#39; + this.dType + &#39;:0000&#39;,
          "description": this.dDesc,
          "services": this.items
        };
Copier après la connexion

Description de l'appareil

<template>
  <p class="devDesc">
Copier après la connexion

Ce qui précède est le composant de liaison bidirectionnelle de données vue2.0 et de formulaire bootstrap vue introduit par l'éditeur. J'espère qu'il vous sera utile. Si vous avez des questions, veuillez me laisser un message. L'éditeur répondra à tout le monde. rapidement. Je voudrais également vous remercier tous pour votre soutien au site Web PHP chinois !

<form class="form-horizontal" role="form" ref="form" id="form">
    <p class="form-group">
      <label for="vendor" class="col-sm-2 control-label text-left">vendor:</label>
      <p class="col-sm-2">
        <input type="text" class="form-control vendor" id="vendor" v-model="vendor" control-label name="vendor">
      </p>
    </p>
    <p class="form-group">
      <label for="dType" class="col-sm-2 control-label text-left">Type:</label>
      <p class="col-sm-2">
        <input type="text" class="form-control dType" id="dType" v-model="dType" control-label name="dType">
      </p>
    </p>
    <p class="form-group">
      <label for="dDesc" class="col-sm-2 control-label text-left">description:</label>
      <p class="col-sm-2">
        <input type="text" class="form-control dDesc" id="dDesc" v-model="dDesc" control-label name="dDesc">
      </p>
    </p>
      <!--<serList class="serListPad" :services="services" @services-change="servicesChange">-->
      <!--</serList>-->
      <!--发现这个serList不用抽出来组件-->
    <p 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>-->
      <p v-for="service in services">
        <service v-for="item in items" :items="items" :service="service" @child-services-change="childServicesChange"></service>
      </p>
    </p>
    </form>
    <button class="btn btn-info" @click="commit">commit</button>
    <button class="btn btn-success">save</button>
  </p>
</template>
Copier après la connexion
Pour plus d'articles liés à la liaison bidirectionnelle de données vue2.0 et aux composants de vue d'amorçage de formulaire, veuillez faire attention au site Web PHP chinois !

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

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!