我是vue.js的新手我正在使用下面的代码并遇到一些问题。我试图使用elems=document.getElementsByClassName("class");
for(i=0;i<elems.length;i++){
elems[i].click();
}
在方法对象中的方法myFunction
内的for循环中访问数据myData但是它不可访问/超出范围
this.myData
答案 0 :(得分:2)
你是对的,这是一个范围问题。您的then()
函数具有不同的范围。您可以在函数末尾.bind(this)
将this
传递给函数。
Vue.http.get('/getdata').then((response) => {
for (var i = 0; i < response.data.info.length; i++) {
this.myData.push(response.data.info[i].address);
}
}.bind(this));
您经常看到的另一种方法是别名this
:
var self = this;
Vue.http.get('/getdata').then((response) => {
for (var i = 0; i < response.data.info.length; i++) {
self.myData.push(response.data.info[i].address);
}
});
答案 1 :(得分:0)
而不是使用&#39; ready&#39;使用vue 2.0 https://vuejs.org/v2/guide/instance.html#Lifecycle-Diagram
的新功能您可以使用mounted () {this.myFunction ()}
执行该功能时,您已经可以看到组件的data ()