Maison > interface Web > Voir.js > le corps du texte

Premiers pas avec les instructions Vue : parlons des six instructions intégrées couramment utilisées

青灯夜游
Libérer: 2022-06-09 20:21:46
avant
2846 Les gens l'ont consulté

Cet article vous présentera les commandes Vue et présentera les six commandes intégrées couramment utilisées dans Vue. J'espère qu'il vous sera utile !

Premiers pas avec les instructions Vue : parlons des six instructions intégrées couramment utilisées

Classification des instructions

Les directives sont une syntaxe de modèle fournie par vue pour les développeurs, qui est utilisée pour aider les développeurs à restituer la structure de base de la page. (Partage vidéo d'apprentissage : tutoriel vidéo vuejs) Les données utilisées dans

sont définies dans les données de l'instance, et l'événement est défini dans les méthodes de l'instance

  • Instructions de rendu de contenu : aide les développeurs à restituer le contenu textuel des éléments DOM
  • Instructions de liaison d'attribut : Aider les développeurs à lier dynamiquement les valeurs d'attribut​​pour les attributs des éléments
  • Instructions de liaison d'événement : Aider les développeurs à lier des événements pour les éléments
  • Instructions de liaison bidirectionnelle : aidez les développeurs à obtenir rapidement les données du formulaire sans utiliser le DOM (les modifications dans la source de données seront synchronisées avec la page, et les modifications sur la page seront également synchronisées avec la source de données)
  • Rendu conditionnel instructions : Aider les développeurs à appuyer sur Besoin de contrôler l'affichage et le masquage du DOM
  • Commande de rendu de liste : Aider les développeurs à boucler et à restituer une structure de liste basée sur un tableau

1. Commande de rendu de contenu

v-text

ne peut restituer que du contenu en texte brut, écrasera le contenu original à l'intérieur de la balise

<p v-text="gender">性别</p>
Copier après la connexion

{{ }} Expression d'interpolation

ne peut restituer que du contenu en texte brut, ne le fera pas écraser le contenu original à l'intérieur de la balise

<p>性别:{{ gender }}</p>
Copier après la connexion

v-html

peut restituer les chaînes balisées en contenu html, écrasera le contenu original à l'intérieur de la balise

<p v-html="info">该内容会被覆盖</p> <!-- info可以定义为html语句 -->
Copier après la connexion

2. Instructions de liaison d'attribut

v-bind : ou :

est l'attribut de l'élément dynamique valeur de l'attribut de liaison

<input v-bind:placeholder="tips"> <!--两种写法都可以-->
<input :placeholder="tips"> <!--两种写法都可以-->
Copier après la connexion

Remarque : expression d'interpolation et v-bind prennent également en charge le fonctionnement de l'expression javascript

{{ 1 + 2 }}  //一元运算
{{ ok ? &#39;YES&#39; : &#39;NO&#39;}}  //三元运算
{{ message.split(&#39;&#39;).reverse().join(&#39;&#39;) }}  //字符串的反转
Copier après la connexion
<div :id="&#39;list-&#39; + id"></div>  <!--字符串和变量的拼接-->
Copier après la connexion

3. Instructions de liaison d'événement

v-on : ou @

pour lier les événements aux éléments

<button v-on:click="add">+1</button> <!--两种写法都可以-->
<button @click="add">+1</button> <!--两种写法都可以-->
-----------------------------------------------------------
<script>
    //创建vue的实例对象
    const vm = new Vue({
        methods:{
            add(){
                this.count ++; //相当于vm.count ++;
            }
        }
    })
</script>
Copier après la connexion

passer les paramètres

  • Aucun paramètre passé : il y aura un paramètre formel par défaut event , qui est un objet, et l'attribut target à l'intérieur pointe vers l'élément DOM de l'événement actuellement lié : passer un paramètre : l'événement sera écrasé afin d'utiliser les paramètres passés par vous-même et de conserver l'événement. vous pouvez transmettre manuellement un paramètre réel $event, les paramètres formels sont facultatifsevent,它是一个对象,里面的target属性指向的是当前绑定事件的DOM元素
  • 传一个参:event则会被覆盖,为了能用自己传的参又能保留event,则可以手动再传一个实参$event
  • <button @click="add(1, $event)">+N</button>
    ------------------------------------------------------------
    <script>
        //创建vue的实例对象
        const vm = new Vue({
            methods:{                    
                add(n,event){
                    //修改
                    this.count +=n;
    
                    //判断
                    if(this.count % 2 === 0)
                        event.target.style.color = &#39;red&#39;;
                    else
                        event.target.style.color = &#39;&#39;;
                }                    
            }
        })
    </script>
    Copier après la connexion

Modificateurs d'événement

Modificateurs qui peuvent être utilisés tant qu'il s'agit d'un événement. En voici 5 couramment. used

Modificateurs d'événementDescription.preventEmpêcher le comportement par défaut (par exemple : empêcher un lien de sauter, empêcher la soumission d'un formulaire).stopEmpêcher le bouillonnement d'un événement .capture Déclenchez le gestionnaire d'événements actuel en mode capture.onceL'événement lié n'est déclenché qu'une seule fois.selfLe gestionnaire d'événements n'est déclenché que lorsque event.target est le l'élément actuel lui-même
<!--举个例子-->
<a href="http://www.baidu.com" @click.prevent="show">跳转到百度</button>
Copier après la connexion

Les modificateurs de touches

ne peuvent être utilisés que lorsque des événements de clavier sont déclenchés. Voici 2

Modificateurs de touches Description.esc. appuyez sur Lorsque vous appuyez sur la touche esc du clavier.enterLorsque vous appuyez sur la touche entrée du clavier
<!--举个例子-->
<!--keyup是事件名称     .esc是按键修饰符     clearInput是事件处理函数-->
<input type="text" @keyup.esc="clearInput">
Copier après la connexion

Commande de liaison bidirectionnelle

v-model.

Obtenez rapidement les données du formulaire (s'applique uniquement aux éléments du formulaire, tels que : entrée, zone de texte, sélection)

<input type="text" v-model="username">
Copier après la connexion
<select v-model="city">
    <option value="">请选择城市</option>
    <option value="1">北京</option>
    <option value="2">上海</option>
    <option value="3">广州</option>
</select>
Copier après la connexion

Modificateur exclusif

Modificateur qui ne peut être utilisé que pour le v-model

Modificateur exclusifDescription .number Convertissez automatiquement la valeur saisie par l'utilisateur en un type numérique.trimFiltre automatiquement les caractères vides de début et de fin saisis par l'utilisateur.lazy Les données sont automatiquement mises à jour lorsque le focus est perdu (généralement, elles sont mises à jour en temps réel)
<!--举个例子-->
<input type="text" v-model.number="n1"> + <input type="text" v-model.number="n2"> = <span>{{ n1+n2 }}</span>
Copier après la connexion

五、条件渲染指令

v-show

控制DOM的显示与隐藏(值为true显示,值为false隐藏),其原理为 动态添加/移除display:none样式 ,一般用于需频繁切换

<p v-show="flag">这是被 v-show 控制的元素</p>
Copier après la connexion

v-if

控制DOM的显示与隐藏(值为true显示,值为false隐藏),其原理为 动态创建/移除元素 ,一般用于默认不展示且展示较少

<p v-if="flag">这是被 v-if 控制的元素</p>
Copier après la connexion

v-else-if

配合 v-if 指令一起使用,否则将不会被识别

<div v-if="type === &#39;A&#39;">优秀</div>
<div v-else-if="type === &#39;B&#39;">良好</div>
<div v-else-if="type === &#39;C&#39;">一般</div>
<div v-else>差</div>
Copier après la connexion

六、列表渲染指令

v-for

基于一个数组来循环渲染一个列表结构,它有特定的语法结构 v-for="item in items"

  • item是 被循环的每一项 ,名字随意
  • items是 待循环的数组 ,名字随意
<table>
    <thead>
        <th>索引</th>
        <th>ID</th>
        <th>姓名</th>
        <th>性别</th>
    </thead>

    <tbody>
        <!-- v-for还支持一个可选的第二个参数,即当前项的索引。语法格式为(item,index)in items -->
        <!-- 注意:item和index都是形参,可以根据需要进行重命名,如:(user,i)in userlist -->
        <!-- 注意:item和index除了可以被自己的子元素访问外,自身也可以使用 -->
        <!-- 注意:只有在需要用到索引时,才写这第二个参数 -->
        <tr v-for="(item,index) in list">
            <td>{{ index }}</td>
            <td>{{ item.id }}</td>
            <td>{{ item.name }}</td>
            <td>{{ item.gender }}</td>
       </tr>
    </tbody>
</table>
------------------------------------------------------------
<script>
    //创建vue的实例对象
    const vm = new Vue({
        data: {
            list: [
                { id: 1, name:&#39;张三&#39;, gender:&#39;男&#39; },
                { id: 2, name:&#39;李四&#39;, gender:&#39;女&#39; },
                { id: 3, name:&#39;王五&#39;, gender:&#39;男&#39; }
            ]
        }
    })
</script>
Copier après la connexion

注意:在.vue文件中,只要用到 v-for指令 ,一定要绑定一个 :key 属性

  • key 的属性值尽量为 id,为 index 则无意义(因为index不和内容有一个强制的绑定关系)
  • key 的属性值只能是 字符串/数字 类型,否则报错
  • key 的属性值必须具有唯一性(不重复内容和值有一个强制的绑定关系
<tr v-for="(item,index) in list" :key="item.id">
Copier après la connexion

(学习视频分享:web前端开发编程基础视频

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!

Étiquettes associées:
source:juejin.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