Javascript 事件函数中的数据对象不';t工作,并导致未定义

Javascript 事件函数中的数据对象不';t工作,并导致未定义,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,当我将对象数据放入事件中时,我有一个未定义的值 这是我的密码: data(){ return { eventSources: [], myId: 1 } }, methods:{ myMethod(){ this.eventSources = [{ events(start,end,timezone,callback){ alert(this.myId); a

当我将对象数据放入事件中时,我有一个未定义的值

这是我的密码:

data(){
    return {
       eventSources: [],
       myId: 1
    }
},
methods:{
   myMethod(){
     this.eventSources = [{
          events(start,end,timezone,callback){
              alert(this.myId); 
              axios.get(`/Something?id=${this.myId}`).then(response=>{
                  callback(response.data);
              }).catch(error=>{console.log(error);});
          }
     }]
   }
}
我的警报导致
未定义
,但当我将警报置于
this.eventSources=[{…]]
之上时,警报的值为
1


我希望有人能帮助我。

问题在于
内部
事件()
实际上不是您的Vue实例。您可以通过将
事件声明为一个:

newvue({
el:“#应用程序”,
数据(){
返回{
eventSources:[],
myId:1
};
},
方法:{
myMethod(){
this.eventSources=[{
事件:(开始、结束、时区、回调)=>{
警报(this.myId);
}
}]
this.eventSources[0]。事件(0,1,'UTC',data=>console.log(data))
}
}
})

点击

这甚至无法编译。你不能有
This.eventSources=
的对象键。这只是我看到的第一件事。所有这些看起来都不是任何语言的有效代码。我更新了我的问题@phil,仍然没有看到这将如何编译。我得到了一个
fn(){alert()}的“意外标记{”错误
syntaxMe也是,为了访问
this.myId
事件中的
我也遇到了一个问题。我建议您从编写语法有效的JavaScript代码开始。哦,谢谢您,先生。您救了我一天!谢谢您的新经验:)@jsonGPPD没问题:)
this.eventSources = [{
  events: (start,end,timezone,callback) => {
    alert(this.myId);
  }
}]