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

Problème avec l'ajout d'expressions à v-show dans Vue (déterminer s'il faut afficher)

亚连
Libérer: 2018-05-29 09:41:34
original
2177 Les gens l'ont consulté

Cet article présente principalement le problème de l'ajout d'expressions dans v-show dans Vue pour déterminer s'il faut afficher. De nombreux amis rencontrent souvent un tel besoin. Il existe deux rangées d'options : la source de données et le type d'étiquette, sur lesquelles il faut cliquer. . Lorsque l'une des sources de données ci-dessus est utilisée, le type d'étiquette change automatiquement de fonction. Les amis intéressés peuvent y jeter un œil

1. Scénario de demande

<.> 1. Laissez-moi d'abord parler de mes besoins. Il y a deux rangées d'options : source de données et type d'étiquette, comme le montre la figure ci-dessous :

2. Selon. Selon les besoins, je dois cliquer sur ce qui précède. Lorsqu'une certaine source de données est sélectionnée, les types de balises suivants changent automatiquement

Les exigences sont décrites comme suit :

3. Au début, je voulais l'écrire à mort. Il suffit d'écrire diverses situations sur la page après avoir vérifié les documents officiels pendant un certain temps, la collection de sources de données peut être écrite comme ceci : l'identifiant. de chaque type, name est le nom et mark est le type d'étiquette lorsque vous cliquez sur une certaine source de données. Cliquez sur la source de données pour juger et changer. Comme indiqué ci-dessous :

 infoTypeList: [
 {
  id: 11,
  name: &#39;新闻&#39;,
  mark: &#39;news&#39;
 },
 {
  id: 13,
  name: &#39;论坛&#39;,
  mark: &#39;bbs&#39;
 },
 {
  id: 17,
  name: &#39;微博&#39;,
  mark: &#39;wb&#39;
 },
 {
  id: 6,
  name: &#39;微信&#39;,
  mark: &#39;wx&#39;
 },
 {
  id: 7,
  name: &#39;APP&#39;,
  mark: &#39;app&#39;
 },
 {
  id: 8,
  name: &#39;平媒&#39;,
  mark: &#39;pm&#39;
 },
 {
  id: 20,
  name: &#39;境外&#39;,
  mark: &#39;overseas&#39;
 },
 {
  id: 21,
  name: &#39;Facebook&#39;,
  mark: &#39;facebook&#39;
 },
 {
  id: 22,
  name: &#39;Twitter&#39;,
  mark: &#39;twitter&#39;
 }
],
Copier après la connexion

4. Ensuite, la structure de données de collecte de type de balise est la suivante, dans laquelle le champ de marque stocke les sources de données incluses dans la balise actuelle.

markTypeList: [
{
id: 32,
name: &#39;主帖&#39;,
mark: &#39;bbs&#39;
},
{
id: 33,
name: &#39;回帖&#39;,
mark: &#39;bbs&#39;
},
{
id: 34,
name: &#39;原创&#39;,
mark: &#39;wb&#39;
},
{
id: 35,
name: &#39;转发&#39;,
mark: &#39;wb_wx&#39;
},
{
id: 36,
name: &#39;头条&#39;,
mark: &#39;news_app_wx_pm&#39;
},
{
id: 37,
name: &#39;头图&#39;,
mark: &#39;app&#39;
},
{
id: 38,
name: &#39;置顶&#39;,
mark: &#39;app&#39;
},
{
id: 39,
name: &#39;要闻&#39;,
mark: &#39;news&#39;
},
{
id: 40,
name: &#39;头版&#39;,
mark: &#39;pm&#39;
},
],
Copier après la connexion

5. Ajoutez un événement de clic à chaque nom de la source de données et stockez une variable infoTypeMark dans les données pour enregistrer la source de données de la source de données. cliquez. J'ai également posté le code de la source de données.

<p v-if="isShowSingleInfoType">
<label class="left-10">数据来源</label>
<span class="info-type activecolor" @click="changeInfoType(-1)">全部</span>
<span class="info-type" @click="changeInfoType(item.id, item.mark)" v-for="item in infoTypeList" :key="item.id">{{item.name}}</span>
<label class="multichoose">
<Button @click="toggleInfoType" size="small">+多选</Button>
</label>
</p>
Copier après la connexion

6. Le point clé est la ligne de code suivante En ajoutant une expression à v-show, elle est utilisée pour juger les actualités cliquées. Les titres et Informations importantes, regardent principalement le bloc marqué en rouge, le code est le suivant :

<p class="layout-content-main">
<label class="left-10">
Copier après la connexion

Type de tag

</label>
<span class="mark-type activecolor" @click="changeMarkType(-1)">全部</span>
<span v-show="item.mark.indexOf(infoTypeMark) > -1" class="mark-type" @click="changeMarkType(item.id)" v-for="item in markTypeList" :key="item.id">{{item.name}}</span>
</p>
Copier après la connexion

J'ai compilé ce qui précède pour vous, j'espère que cela vous sera utile à l'avenir.

Articles connexes :

Introduction aux problèmes et aux différences entre les fonctions apply et Math.max() dans js


Une brève discussion Scénarios d'application des composants intégrés de Vue


Un tutoriel simple sur l'utilisation de less dans vue2


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: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!