首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何发出v-for值?

如何发出v-for值?
EN

Stack Overflow用户
提问于 2021-11-06 16:14:05
回答 1查看 43关注 0票数 0

我正在尝试将我的v-for值(城市)发送到父组件。

代码语言:javascript
复制
<ul class="cards">
  <li v-for="city in cities" :key="city">
    <span  @click="$emit('update-city', city">
      <p @click="$emit('update-toggle')">{{item}}</p>
    </span>
  </li>
</ul>

父组件如下所示

代码语言:javascript
复制
<template>
<span @update-city ="updatedCity = city">
    <vertical-slider @update-toggle ="toggled= !toggled"  :cities="citiesArray" v-if="toggled">
    </vertical-slider>
  </span>
  
  <p>{{city}}</p>
</template>

<script>
  data(){
    return{
      toggled: false,
      updatedCity: "city",
      citiesArray[City1, City2, City3]
  }
</script>

切换的事件运行良好,我的城市也会得到渲染。尽管尝试了几种组合,但我似乎无法将城市名称传递给我的父组件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-06 21:03:53

这应该能起到作用。

index.vue

代码语言:javascript
复制
<template>
  <div>
    Updated city:
    <pre>{{ updatedCity }}</pre>
    <VerticalSlider
      v-if="toggled"
      :cities="citiesArray"
      @update-city="updatedCity = $event"
      @update-toggle="toggled = !toggled"
    />
  </div>
</template>

<script>
export default {
  data() {
    return {
      toggled: true,
      updatedCity: { id: 99, name: 'city' },
      citiesArray: [
        { id: 1, name: 'New York' },
        { id: 2, name: 'Paris' },
        { id: 3, name: 'London' },
        { id: 4, name: 'Istanbul' },
        { id: 5, name: 'Berlin' },
        { id: 6, name: 'Barcelona' },
        { id: 7, name: 'Rome' },
        { id: 8, name: 'Amsterdam' },
        { id: 9, name: 'Munich' },
        { id: 10, name: 'Prague' },
      ],
    }
  },
}
</script>

VerticalSlider.vue

代码语言:javascript
复制
<template>
  <ul class="cards">
    <li v-for="city in cities" :key="city.id">
      <span @click="$emit('update-toggle')">
        <p @click="$emit('update-city', city)">{{ city }}</p>
      </span>
    </li>
  </ul>
</template>

<script>
export default {
  name: 'VerticalSlider',
  props: {
    cities: {
      type: Array,
      default: () => [],
    },
  },
}
</script>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69865719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档