ホームページ  >  記事  >  ウェブフロントエンド  >  Vue で v-show に式を追加する際の問題 (表示するかどうかの決定)

Vue で v-show に式を追加する際の問題 (表示するかどうかの決定)

亚连
亚连オリジナル
2018-05-29 09:41:342119ブラウズ

この記事では主に、Vue で v-show に式を追加して表示するかどうかを決定する問題を紹介します。データ ソースとラベル タイプの 2 行のオプションをクリックする必要があります。上記 特定のデータソースを使用すると、ラベルの種類が自動的に切り替わります。 興味のある友人は一緒に見てください

1. 需要シナリオ

1. 最初に私のニーズについて話します。 : データ ソースとラベル タイプ。下の図に示すように、オプション:

2. 要件に従って、上のデータ ソースをクリックすると、下のラベル タイプを自動的に切り替える必要があります。

3. 最初はすべての状況をページに書き留めようと思って、しばらく公式ドキュメントを確認した後、データソースのコレクションは次のように記述できることがわかりました。各タイプの識別子、name は名前、mark は特定のクリック データ ソースを選択すると、現在クリックされているデータ ソースに基づいてラベル タイプが切り替わります。以下に示すように:

 infoTypeList: [
 {
  id: 11,
  name: '新闻',
  mark: 'news'
 },
 {
  id: 13,
  name: '论坛',
  mark: 'bbs'
 },
 {
  id: 17,
  name: '微博',
  mark: 'wb'
 },
 {
  id: 6,
  name: '微信',
  mark: 'wx'
 },
 {
  id: 7,
  name: 'APP',
  mark: 'app'
 },
 {
  id: 8,
  name: '平媒',
  mark: 'pm'
 },
 {
  id: 20,
  name: '境外',
  mark: 'overseas'
 },
 {
  id: 21,
  name: 'Facebook',
  mark: 'facebook'
 },
 {
  id: 22,
  name: 'Twitter',
  mark: 'twitter'
 }
],

4. タグ タイプ コレクションのデータ構造は次のようになり、マーク フィールドには現在のタグに含まれるデータ ソースが格納されます。

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

5. データソースの各名前にクリックイベントを追加し、クリックされたデータソースの識別を保存する変数 infoTypeMark をデータに格納します。

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

6. 重要な点は、v-show に式を追加することで、主に見出しと重要なニュースが表示されるようにするために使用されます。赤いブロック コードは次のとおりです:

<p class="layout-content-main">
<label class="left-10">

タグの種類

</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>

上記は、将来皆さんの役に立てば幸いです。

関連記事:

js の apply 関数と Math.max() 関数の問題点と違いの紹介

Vue の組み込みコンポーネント コンポーネントのアプリケーション シナリオについての簡単な説明

A vue2 でのlessの使用に関する簡単なチュートリアル


以上がVue で v-show に式を追加する際の問題 (表示するかどうかの決定)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。