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: '#app', data: { name: '' }, watch: { name: function () { console.log(this.name); } } }); </script> </html>
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
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 = $('.vendor').val(); let vendor = document.getElementsByClassName('vendor')[0].value;
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 './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 };
<template> <p class="devDesc">
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>