Vuejs2 VueJS v-for索引数组中的第一个元素

Vuejs2 VueJS v-for索引数组中的第一个元素,vuejs2,Vuejs2,我是vuejs的新手。所以我的数据中有这个数组,当我在控制台中输出数据时,结果是正确的。我需要将类别放在一个数组中,因为它可以有多个类别 const app = new Vue({ el:"#app", data:{ market:{ categories:[] } }, methods: { init: function(){ var app = this; var url = '/a

我是vuejs的新手。所以我的数据中有这个数组,当我在控制台中输出数据时,结果是正确的。我需要将类别放在一个数组中,因为它可以有多个类别

const app = new Vue({ 
   el:"#app",
   data:{
     market:{
        categories:[]
     }
   },
   methods: {
      init: function(){
         var app = this;
         var url = '/api/categories/0';
            axios.get(url).then(function(response){
               app.market.categories[0] = response.data;
               console.log(app.market.categories[0]);
        });
      }
   }
});
但是当在ui中使用v-for时,它不会显示。你能帮忙吗?谢谢`

 <select class="form-control form-control-no-border" id="s-category1">
      <option value="">Please select a category</option>
      <option v-for="category in market.categories[0]" :value="category.external_code">@{{ category.name  }}</option>
  </select>

请选择一个类别
@{{category.name}

使用方括号访问数组元素时,Vue无法对数组元素的更改作出反应。修改数组元素时,需要使用数组方法访问它们,或使用Vue.set,如下所示

Vue.set( app.market.categories, 0, response.data );

使用方括号访问数组元素时,Vue无法对数组元素的更改作出反应。修改数组元素时,需要使用数组方法访问它们,或使用Vue.set,如下所示

Vue.set( app.market.categories, 0, response.data );

你看到了什么?您在categories数组中看到了什么?在ui中什么都没有发生,但当我在控制台中输出类别时,它会在categories中显示一个数组。我需要将数据放在类别[0]中,因为类别[1]可以有不同的数组集。好的,你有类别的2d数组吗?那么您的问题是更新阵列。您需要使用Vue.set()。等一下,我会更新答案的,没问题。Vue中的陷阱很少,但这是其中之一。这是javascript的一个限制。你看到了什么?您在categories数组中看到了什么?在ui中什么都没有发生,但当我在控制台中输出类别时,它会在categories中显示一个数组。我需要将数据放在类别[0]中,因为类别[1]可以有不同的数组集。好的,你有类别的2d数组吗?那么您的问题是更新阵列。您需要使用Vue.set()。等一下,我会更新答案的,没问题。Vue中的陷阱很少,但这是其中之一。这是javascript的一个限制。