Vuejs不能引用数组

时间:2017-09-14 09:44:41

标签: javascript vue.js

我无法在vue js中引用数组。

  console.log(this.ref_number_response[0]);

这显示我未定义,我想知道为什么......

      data(){
        return{ 
           ref_number_response: [],
     }
},
methods:{
check_ref_number: function () {
             // axios request
             axios.get('/is_referenceNumber_free/'+this.ref_number)
             .then(response => this.ref_number_response.push({ 
                 info: response.data

              }));

        
console.log(this.ref_number_response[0]);
           Event.$emit('reference_added', this.ref_number_response);
             
         },
}
<div class="form-group">
        <label for="" class="col-sm-2 control-label">Ref Number</label>
        <div class="col-sm-10">
            <input v-model="ref_number" type="text" name="ref_number" class="form-control" id="" placeholder="Referent number" @blur="check_ref_number" required>
        </div>
    </div>

这是我得到的响应,我不想使用v-for进行几次实际诊断。

[{“info”:[{“诊断”:“St. post。创伤睾丸罪.Obs Ruptura睾丸罪。” },{“诊断”:“diagnosi2”}]}]

1 个答案:

答案 0 :(得分:1)

它显示未定义,因为console.log在promise之外。当你控制日志时,ref_number_response是一个空数组,第一个元素显然是未定义的。

data(){
     return { 
           ref_number_response: [],
     };
},
methods: {
   check_ref_number() {
             // axios request
             axios.get('/is_referenceNumber_free/'+this.ref_number)
             .then((response) => {
                  console.log(response.data);
                  this.ref_number_response = response.data;
                  console.log(this.ref_number_response); // now its not empty
                  this.$emit('reference_added', this.ref_number_response);
             });
         },
}