代码之家  ›  专栏  ›  技术社区  ›  samynmhd

如何从Vue响应中获取所有数组值

  •  0
  • samynmhd  · 技术社区  · 7 年前

    如何访问整个课程数组

    下面的代码给出了第一个课程数组。

    <div class=“Form Group”v-show=“school==='sose'”>
    <label for=“course”>课程</label>
    <select class=“form control”name=“Course”v-model=“Course”>
    <option v-for=“(result,index)in response”:value=“result.course[0].initial”>result.course[0].name</option>
    </选择>
    </DIV>
    

    如果我使用索引,课程将变为未定义。如何在两个数组中获取值。

    获取数据的代码。

    created()。{
    axios.get(`https:/$location.host/admin/getschool`)
    。然后(resp=>){
    此响应=响应数据;
    console.log(this.response);
    })
    .catch(错误=>){
    this.errors.push(错误);
    })
    }
    

    下面的代码给出了第一个课程数组。

    <div class="form-group"  v-show="school === 'SOSE'">
          <label for="course">Course</label>
          <select class="form-control" name="course" v-model="course">
            <option v-for="(result, index) in response" :value="result.course[0].initial">{{result.course[0].name}}</option>
          </select>
        </div>
    

    如果我使用索引,课程将变为未定义。如何在两个数组中获取值。

    获取数据的代码。

    created() {
        axios.get(`https://${location.host}/admin/getSchool`)
          .then(resp => {
            this.response = resp.data;
            console.log(this.response);
          })
          .catch(err => {
            this.errors.push(err);
          })
      },
    
    2 回复  |  直到 7 年前
        1
  •  0
  •   Crackers    7 年前

    你得用两个 v-for 在这里我用了 template 贴上标签。

      <select class="form-control" name="course" v-model="course">
        <template v-for="result in response">
          <option v-for="course in result.course" :value="course.initial">{{course.name}}</option>
        </template>
      </select>
    
        2
  •  0
  •   Chanh    7 年前

    诺迪斯

    尝试

    result.forEach(function(item){
        console.log('initial: ' + item.initial);
        console.log('name: ' + item.name);
    });
    

    希望它会有用

    推荐文章