首页 > 解决方案 > 如何将数据从我的函数传递到数据方法?

问题描述

我正在尝试将数据从我的 API 传递到dataVue 中的方法。


       data(){
          return{
            name:"" 
          }
       },
           
    
       methods: {    
        
              getData(){
                useData.data("profile",  this.route.params.id).then(function(r: any){          
                   r.data;         
                });
              }

        },
    
        created(){
        
          this.name=this.getData();
        
        }

我在我的模板中显示它,如下所示:

{{name}}

问题是它不起作用。它没有显示任何错误,但也没有显示任何内容。

如果我将功能更改为getData()

      getData(){
         return "123";
      }

它成功在模板中显示 123。我相信这与承诺有关。

如果我尝试name直接在函数内部分配值getData(),我会收到以下错误:

未捕获(承诺中)类型错误:无法设置未定义的属性“名称”

那么如何从 http 请求中获取数据并将其发送给data方法呢?

标签: vue.jsionic-frameworkpromise

解决方案


我通过改变解决了这个问题

getData(){
   useData.data("profile",  this.route.params.id).then(function(r: any){          
         r.data;         
   });
}

 getData(){
    useData.data("profile",  this.route.params.id).then(r =>{          
        this.name=r.data;         
    });
 }

我想这this不适用于常规功能

如果有人知道是否有任何方法可以 this在常规函数中使用,请告诉我如何使用。


推荐阅读