Maison interface Web js tutoriel Comment effectuer une opération de liaison de données vue.js

Comment effectuer une opération de liaison de données vue.js

Jun 02, 2018 am 11:21 AM
javascript vue.js conduire

Cette fois, je vais vous montrer comment effectuer l'opération de liaison de données vue.js et quelles sont les précautions pour l'opération de liaison de données vue.js. Ce qui suit est un cas pratique. . Jetons un coup d'oeil.

Liaison de données

Système de liaison de données réactif. Une fois la liaison établie, le DOM sera synchronisé avec les données et il n'est pas nécessaire de maintenir manuellement le DOM. Rendre le code plus concis et facile à comprendre et améliorer l'efficacité.

Syntaxe de liaison de données

Interpolation de texte

{{ }}Balise moustache

<span>Hello {{ name }}</span>
Copier après la connexion
data:{
    name: 'vue'
}
== > Hello vue
Copier après la connexion

Interpolation unique

La modification de la valeur de l'attribut de l'instance vm après la première affectation n'entraînera pas de modifications du DOM

<span v-once="name">{{ name }}</span>
Copier après la connexion

2.Attributs HTML

Balise moustache {{ }}

<p v-bind:id="&#39;id-&#39;+id"></p>
Copier après la connexion

Abréviation :

<p :id="&#39;id-&#39;+id"></p>
Copier après la connexion

3 .Le l'expression de liaison

est placée dans le contenu du texte dans la balise Moustache. En plus de générer directement la valeur de l'attribut, une expression de liaison peut consister en une simple expression JavaScript et éventuellement un ou plusieurs filtres (les expressions régulières ne sont pas prises en charge, si une conversion complexe est requise, utilisez des filtres ou des propriétés calculées pour traitement).

{{ index + 1}}
{{ index == 0 ? 'a' : 'b' }}
{{name.split('').join('|') }}
{{ var a = 1 }} //无效
Copier après la connexion

4. Filtre

vue.js permet d'ajouter des filtres facultatifs après les expressions, indiqués par le caractère pipe "|".

{{ name | uppercase }} // Vue.js将name的值传入给uppercase这个内置的过滤器中(本质是一个函数),返回字符串的大写值。
{{ name | filterA | filterB }}  //多个过滤器链式使用
{{ name | filterA arg1 arg2 }} //传入多个参数
Copier après la connexion

À ce stade, filterA transmet la valeur de name comme premier paramètre, et arg1 et arg2 comme deuxième et troisième paramètres dans la fonction de filtre.

Enfin, la valeur de retour de la fonction est le résultat de sortie. arg1 et arg2 peuvent utiliser des expressions ou ajouter des guillemets simples pour transmettre directement des chaînes.

Par exemple :

{{ name.split('') | limitBy 3 1 }} // ->u,e
Copier après la connexion

Le filtre limitBy peut accepter deux paramètres. Le premier paramètre consiste à définir le nombre d'affichages. Le deuxième paramètre est facultatif et fait référence au tableau d'éléments de. le début.

Les 10 filtres intégrés de vue.js (supprimés dans Vue.js2.0)

capitaliser : Le premier caractère de la chaîne est converti en majuscule.
majuscule : Convertit la chaîne en majuscule.
minuscule : convertit la chaîne en minuscule.
devise : Les paramètres sont {String}[symbole de devise], {Number}[decimal places], convertissent le nombre en symbole monétaire et ajoutent automatiquement des numéros de section numériques.

{{ amount | currency '¥' 2 }} //若amount值为1000,则输出为¥1,000.00
Copier après la connexion

pluralize : Les paramètres sont {String}single, [double, triple], et la chaîne est pluralisée.

<p v-for="c in count">{{ c | pluralize 'item' }} {{ c | pliralize 'st' 'nd' 'rd' 'th' }} </p>
Copier après la connexion
//输出结果:
1item 1st
2items 2nd
3items 3rd
4items 4th
Copier après la connexion

json : Le paramètre est {Number}[indent] numéro d'indentation d'espace, et les données de l'objet json sont sorties dans une chaîne conforme au format json.

anti-rebond : la valeur entrante doit être une fonction et le paramètre est facultatif, qui est {Number}[wait], qui est la durée du délai. L'effet est que l'action ne sera exécutée que n millisecondes après l'appel de la fonction.

<input v-on:keyup="onKeyup | debounce 500"> //input元素上监听了keyup事件,并且延迟500ms触发
Copier après la connexion

limitBy : La valeur entrante doit être un tableau, les paramètres sont {Number}limit, {Number}[offset], limit est le nombre à afficher et offset est l'indice à démarrer afficher le tableau.

<p v-for="item in items | limitBy 10"></p> //items为数组,且只显示数组中的前十个元素
Copier après la connexion

filterBy : la valeur entrante doit être un tableau et le paramètre est {String | Function}targetStringOrFunction, qui est la chaîne ou la fonction qui doit correspondre ; séparateur en option. {String}[...searchKeys], est la zone d'attribut récupérée.

<p v-for="name in names | filterBy &#39;1.0&#39;">{{ name }}</p> //检索names数组中值包含1.0的元素
<p v-for="item in items | filterBy &#39;1.0&#39; in &#39;name&#39;">{{ item | json }}</p> //检索items中元素属性name值为1.0的元素输出。检索区域也可以为数组,即in [name,version],在多个属性中进行检索。
Copier après la connexion
//输出结果
vue1.0
{"name":"vue1.0","version":"1.0"}
Copier après la connexion

Utiliser une fonction de filtre personnalisée, qui peut être définie dans les méthodes d'options

<p v-for="item in items | filterBy customFilter"
  methods:{
    cuestomFilter:function(item){
      if(item.name) return true;  //检索所有元素中包含name属性的元素
    }
  }
Copier après la connexion

orderBy : La valeur entrante doit être un tableau , Le paramètre est {String|Array|Function}sortKeys, qui spécifie la stratégie de tri.

Nom de clé unique :

<p v-for="item in items | orderBy &#39;name&#39; -1">{{ item.name}}</p> //items数组中以键名name进行降序排列
Copier après la connexion

Noms de clés multiples :

<p v-for="item in items | orderBy [name,version]">{{item.name}}</p> //使用items里的两个键名进行排序
Copier après la connexion

Fonction de tri personnalisée :

<p v-for="item in items | orderBy customOrder">{{item.name}}</p>
methods:{
  customOrder: function(a,b){
    return parseFloat(a.version) > parseFloat(b.version) //对比item中version的值的大小进行排序
  }
}
Copier après la connexion

5. La valeur de l'instruction

est limitée à l'expression de liaison, c'est-à-dire que lorsque la valeur de l'expression change, un comportement spécial sera appliqué au DOM lié.

Paramètre : src est le paramètre

<img v-bind:src="avatar" /> <==>  <img src="{{avatar}}" />
Copier après la connexion

修饰符:以半角句号.开始的特殊后缀,用于表示指令应该以特殊方式绑定。

<button v-on:click.stop="doClick"></button> //stop:停止冒泡。相当于调用了e.stopPropagagation().
Copier après la connexion

计算属性

避免在模板中加入过重的业务逻辑,保证模版的结构清晰和可维护性。

1.基础例子

var vm = new Vue({
    el: '#app',
    data: {
      firstName:'Gavin',
      lastName:'CLY'
    },
    computed: {
      fullName:function(){
        //this指向vm实例
        return this.firstName + ' ' + this.lastName;
      }
    }
})
Copier après la connexion
<p>{{ firstName }}</p>  //Gavin
<p>{{ lastName }}</p>  //CLY
<p>{{ fullName }}</p>  //Gavin CLY
Copier après la connexion

注:此时对vm.firstNamevm.lastName进行修改,始终会影响vm.fullName

2.Setter

更新属性时带来便利

var vm = new Vue({
    el:'#el',
    data:{
      cents:100
    },
    computed:{
      price:{
        set:function(newValue) {
          this.cents = newValue * 100;
        },
        get:function(){
          return (this.cents / 100).toFixed(2);
        }
      }
    }
})
Copier après la connexion

表单控件

v-model:对表单元素进行双向数据绑定,在修改表单元素值时,实例vm中对应的属性值也同时更新,反之亦然。

var vm = new Vue({
    el:'#app',
    data: {
      message: '',
      gender: '',
      cheched: '',
      multiChecked: '',
      a: 'checked',
      b: 'checked'
    }
})
Copier après la connexion

1. Text

输入框示例,用户输入的内容和vm.message直接绑定:

<input type="text" v-model="message" />
<span>Your input is : {{ message }} </span>
Copier après la connexion

2. Radio

单选框示例:

<label><input type="radio" value="male" v-model="gender">男</lable>
<label><input type="radio" value="famale" v-model="gender">女</lable>
<p>{{ gender }}</p> //显示的是value值
Copier après la connexion

3.Checkbox

单个勾选框,v-model即为布尔值,此时Input的value并不影响v-model的值。

<input type="checkbox" v-model="checked" />
<span>checked: {{ checked }} </span> //显示的是true/false
Copier après la connexion

多个勾选框,v-model使用相同的属性名称,且属性为数组。

<label><input type="checkbox" value="1" v-model="multiChecked">1</label>
<label><input type="checkbox" value="1" v-model="multiChecked">2</label>
<label><input type="checkbox" value="1" v-model="multiChecked">3</label>
<p>MultiChecked:{{ multiChecked.join{'|'} }}</p> //multiChecked:1|2
Copier après la connexion

4.Select

单选

<select v-model="selected">
  <option selected>A</option>
  <option>B</option>
  <option>C</option>
</select>
<span>Selected: {{ selected }}</span>
Copier après la connexion

多选

<select v-model="multiSelected" multiple>
  <option selected>A</option>
  <option>B</option>
  <option>C</option>
</select>
<span>MultiSelected: {{ multiSelected.join('|') }}</span>
Copier après la connexion

5.绑定value

通过v-bind实现,表单控件的值绑定到Vue市里的动态属性上。

Checkbox

<input type="checkbox" v-model="checked" v-bind:true-value="a" v-bind:false-value="b" />
Copier après la connexion

选中:

vm.checked == vm.a  //=> true
Copier après la connexion

未选中:

vm.checked == vm.b //=>true
Copier après la connexion

Radio

<input type="radio" v-model="checked" v-bind:value="a" >
Copier après la connexion

选中:

vm.checked == vm.a //=> true
Copier après la connexion

3.Select Options

<select v-model="selected">
    <!-- 对象字面量 -->
    <option v-bind:value="{ number:123}">123</option>
</select>
Copier après la connexion

选中:

typeof vm.selected //=> object
vm.selected.number //=> 123
Copier après la connexion

6.参数特性

.lazy:默认情况下,v-model在input事件中同步输入框与数据,加lazy属性后会在change事件中同步。

<!-- 在 "change" 而不是 "input" 事件中更新 -->
<input v-model.lazy="msg" >
Copier après la connexion

.number:自动将用户输入转为Number类型,如果原值转换结果为NaN,则返回原值。

<input v-model.number="age" type="number">
Copier après la connexion

.trim:如果要自动过滤用户输入的首尾空格,可以添加 trim 修饰符到 v-model 上过滤输入

<input v-model.trim="msg">
Copier après la connexion

Class与Style绑定

1.Class绑定

对象语法:v-bind:class接受参数是一个对象,而且可以与普通的class属性共存。

<p class="tab" v-bind:class="{&#39;active&#39;:active,&#39;unactive&#39;:!active}"></p>
Copier après la connexion

vm实例中需要包含:

data:{
  active:true
}
Copier après la connexion

渲染结果为:

<p class="tab active"></p>
Copier après la connexion

数组语法:v-bind:class也接受数组作为参数。

<p v-bind:class="[classA,classB]"></p>
Copier après la connexion

vm实例中需要包括:

data:{
  classA:"class-a",
  classB:"class-b"
}
Copier après la connexion

渲染结果为:

<p class="class-a class-b"></p>
Copier après la connexion

使用三元表达式切换数组中的class

<p v-bind:class="[classA,isB?classB:""]"></p>
Copier après la connexion

vm.isB = false
Copier après la connexion

则渲染结果为

<p class="class-a"></p>
Copier après la connexion

2.内联样式绑定(style属性绑定)

对象语法:直接绑定符合样式格式的对象。

<p v-bind:style="alertStyle"></p>
Copier après la connexion

vm实例中包含:

data:{
  alertStyle:{
    color: 'red',
    fontSize: '2px'
  }
}
Copier après la connexion
<p v-bind:style="{fontSize:alertStyle.fontSize,color:&#39;red&#39;}"></p>
Copier après la connexion

数组语法:v-bind:style允许将多个样式对象绑定到同一元素上。

<p v-bind:style="[ styleObjectA,styleObjectB]" .></p>
Copier après la connexion

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

如何使用react配合antd组件实现管理系统

js图片转base64方法总结

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Comment mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Dec 17, 2023 pm 02:54 PM

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de reconnaissance vocale en ligne Introduction : Avec le développement continu de la technologie, la technologie de reconnaissance vocale est devenue une partie importante du domaine de l'intelligence artificielle. Le système de reconnaissance vocale en ligne basé sur WebSocket et JavaScript présente les caractéristiques d'une faible latence, d'un temps réel et d'une multiplateforme, et est devenu une solution largement utilisée. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de reconnaissance vocale en ligne.

WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel Dec 17, 2023 pm 05:30 PM

WebSocket et JavaScript : technologies clés pour réaliser des systèmes de surveillance en temps réel Introduction : Avec le développement rapide de la technologie Internet, les systèmes de surveillance en temps réel ont été largement utilisés dans divers domaines. L'une des technologies clés pour réaliser une surveillance en temps réel est la combinaison de WebSocket et de JavaScript. Cet article présentera l'application de WebSocket et JavaScript dans les systèmes de surveillance en temps réel, donnera des exemples de code et expliquera leurs principes de mise en œuvre en détail. 1. Technologie WebSocket

Comment mettre en œuvre un système de réservation en ligne à l'aide de WebSocket et JavaScript Comment mettre en œuvre un système de réservation en ligne à l'aide de WebSocket et JavaScript Dec 17, 2023 am 09:39 AM

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de réservation en ligne. À l'ère numérique d'aujourd'hui, de plus en plus d'entreprises et de services doivent fournir des fonctions de réservation en ligne. Il est crucial de mettre en place un système de réservation en ligne efficace et en temps réel. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de réservation en ligne et fournit des exemples de code spécifiques. 1. Qu'est-ce que WebSocket ? WebSocket est une méthode full-duplex sur une seule connexion TCP.

Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Dec 17, 2023 pm 12:09 PM

Introduction à l'utilisation de JavaScript et de WebSocket pour mettre en œuvre un système de commande en ligne en temps réel : avec la popularité d'Internet et les progrès de la technologie, de plus en plus de restaurants ont commencé à proposer des services de commande en ligne. Afin de mettre en œuvre un système de commande en ligne en temps réel, nous pouvons utiliser les technologies JavaScript et WebSocket. WebSocket est un protocole de communication full-duplex basé sur le protocole TCP, qui peut réaliser une communication bidirectionnelle en temps réel entre le client et le serveur. Dans le système de commande en ligne en temps réel, lorsque l'utilisateur sélectionne des plats et passe une commande

JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel Dec 17, 2023 pm 05:13 PM

JavaScript et WebSocket : Construire un système efficace de prévisions météorologiques en temps réel Introduction : Aujourd'hui, la précision des prévisions météorologiques revêt une grande importance pour la vie quotidienne et la prise de décision. À mesure que la technologie évolue, nous pouvons fournir des prévisions météorologiques plus précises et plus fiables en obtenant des données météorologiques en temps réel. Dans cet article, nous apprendrons comment utiliser la technologie JavaScript et WebSocket pour créer un système efficace de prévisions météorologiques en temps réel. Cet article démontrera le processus de mise en œuvre à travers des exemples de code spécifiques. Nous

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Comment utiliser insertBefore en javascript Comment utiliser insertBefore en javascript Nov 24, 2023 am 11:56 AM

Utilisation : En JavaScript, la méthode insertBefore() est utilisée pour insérer un nouveau nœud dans l'arborescence DOM. Cette méthode nécessite deux paramètres : le nouveau nœud à insérer et le nœud de référence (c'est-à-dire le nœud où le nouveau nœud sera inséré).

Comment obtenir facilement le code d'état HTTP en JavaScript Comment obtenir facilement le code d'état HTTP en JavaScript Jan 05, 2024 pm 01:37 PM

Introduction à la méthode d'obtention du code d'état HTTP en JavaScript : Dans le développement front-end, nous devons souvent gérer l'interaction avec l'interface back-end, et le code d'état HTTP en est une partie très importante. Comprendre et obtenir les codes d'état HTTP nous aide à mieux gérer les données renvoyées par l'interface. Cet article explique comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournit des exemples de code spécifiques. 1. Qu'est-ce que le code d'état HTTP ? Le code d'état HTTP signifie que lorsque le navigateur lance une requête au serveur, le service

See all articles