@lyyb

Как объявить переменную внутри цикла v-for?

Необходимо, чтобы при проверке данных элементы внутри v-for проверялись на соответствие элементам массива polis_ltd_service и если условие верно, то должен отображаться первый элемент - а, а если не верно, то второй элемент a
Цикл v-for:

<ul class="list-group category-list mh-20 twocolumn"
            v-model="services">
              <li 
              v-for="(service, index) in services"
              class="list-serv pt-1"
              >
              {{ service }}
              <a
              v-if="isShown(index)">
                &#10004;
              </a>
              <a
              v-if="!isShown(index)">
                &#9940;
              </a>
              <button type="button" 
              class="btn"
              @click="services.splice(index, 1)"
              >x</button>
              </li>
            </ul>

Код VueJS:
export default {
  name: 'app',
  data () {
    return {
      companys, companys,
      poliss: [],
      services: [],
      polis_ltd_service: [],
      show: [],
      items: [],
      active: null,
      search: '',
      reqSer: '',
      isServ: undefined,
      tipStrah: false,
      subm: false
    }
  },
  methods: {
    isShown(i) {
      return this.show[i]
    },
    changeShow(i) {
      Vue.set(this.show, i, !this.show[i]);
    },
    enterService() {
      this.services.push(this.reqSer)
      this.reqSer = ''
      console.log(this.services)
    },
    submitForm() {
        this.services.forEach(service => {
          this.polis_ltd_service.polis_ltd_inservice.forEach(inservice => {
            if (service === inservice) {}          
          })
        })
    },
created() {
    axios.get('/src/api/company.json')
    .then(response => {
      this.poliss = response.data;
    })
    axios.get('/src/api/services.json')
    .then(response => {
      this.polis_ltd_service = response.data;
    })
    fakeFetch().then((items) => {
       this.items = items;
       this.show = this.items.map(() => false);
    });
  }
}
  • Вопрос задан
  • 352 просмотра
Пригласить эксперта
Ответы на вопрос 1
@choupa
Архитектор (обычный, который строит)
Простота ответа говорит о том, что вам надо учить JS. Такое впечатление, что вы вообще не понимаете, как ваш код работает. Ибо тогда сразу бы просто заменили show на polis_ltd_service:
isShown(i) {
      return this.polis_ltd_service[i]
    }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы