VueJS v-если значение json из json равно true - PullRequest
0 голосов
/ 17 сентября 2018

У меня вопрос, как я могу показать «показать текст» в макете, когда в моем JSON установлено значение «more»: true

Мой макет:

<b-row v-for="?" v-if="?">
    <b-col>
        show text
    </b-col>
</b-row>

Мой JSON:

{
  "array": [
    {
      "id": "1",
      "more": false
    },
    {
      "id": "2",
      "more": true
    }
  ]
}
data () {
  return {
    n: 0,
    array: json
  }
}

РЕДАКТИРОВАТЬ: РЕШЕНО IT => v-if = "array [0] .more"

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

Я никогда не был поклонником условного рендеринга в цикле.

Я предпочитаю использовать вычисляемое свойство, которое возвращает отфильтрованный набор вашего итерируемого объекта.Например

computed: {
  more () {
    return this.array.array.filter(({ more }) => more)
  }
}

тогда в вашем шаблоне

<b-row v-for="item in more">
  <b-col>
    show text
  </b-col>
</b-row>
0 голосов
/ 17 сентября 2018
<b-row v-for="el of array.array" v-if="el.more">
    <b-col>
        show text
    </b-col>
</b-row>

В вашем json ваш массив находится в свойстве array.Ваш компонент vue устанавливает данные json в свойстве array.Это означает, что массив доступен в array.array.

...