vue中用axios调接口拿到值,值变了,但是页面是死活变不过来

就是调了一个接口,拿了一个值,但是页面上这个值死活不更新。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>个人团队业绩详情</title>
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
        <script src="vue.js" type="text/javascript" charset="utf-8"></script>
        <!-- 引入样式 -->
        <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
        <!-- 引入组件库 -->
        <script src="https://unpkg.com/element-ui/lib/index.js"></script>
        <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
        <style scoped>
            #app{padding:.5rem;}
            *{font-size: 1rem;}
            .PTI_title{line-height: 4rem;text-align: center;border-bottom: 1px solid #E6E6E6;}            
        </style>
    </head>
    <body>
        <div id="app">
            <div class="PTI_title">{{price1}}</div>    
            
        </div>
          <script>                      
            var vm=new Vue({
              el: '#app',
              data(){                    
                    return{
                        listQuery:{},                        
                        price1:0,                        
                    }                    
              },
              methods: {                  
                  getData(){                     
                      this.listQuery.userId=6935;
                      axios.get('xxxxxxxxxxxxx', {
                            params: {
                              userId: this.listQuery.userId
                            },
                            
                          })
                          .then(function (response) {                             
                            if(response.data.code===0){                                                            
                                this.price1=response.data.data.price1;
                                            console.log(this.price1)                    
                            }
                          })
                          .catch(function (error) {
                            
                          });
                    }
                },                
                created(){                    
                    this.getData()
                }
            })
            
        </script>
    </body>
</html>

图片描述

阅读 3.2k
2 个回答

把你then后面这部分改成箭头函数

.then(function (response) {
===>
.then(response => {

把 this.getData()放到mounted中执行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题