为了账号安全,请及时绑定邮箱和手机立即绑定

vue单组件页面无法把axios获取的值传输过去

vue单组件页面无法把axios获取的值传输过去

蛊毒传说 2018-10-22 09:09:01
我直接上代码吧,是能获取到后台的值的,但是每次都先执行data() {   return {     message: message   } }, 我从后台获取的值根本就放不进去啊,网上的例子都是传的固定的值template>   <div id="indexTop">         <div>{{message}}</div>   </div> </template> <script>   import Vue from 'vue'   import axios from 'axios'  var message = {}   export default {     name: "indexTop",     created: function () {      this.$nextTick(function () {         axios.get('http://localhost:66/studio/banner')           .then(function (res) {             console.log(res.data);             message = res.data.length           })           .catch(function (err) {             console.log(err);           })       });     },     data() {      return {         message: message       }     },   }</script>
查看完整描述

2 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

在main.js中的use,添加组件等等都放在new Vue的上面,mounted中可以不用this.$nextTick,延迟体验有些差;

查看完整回答
反对 回复 2018-10-31
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

<template>
  <div id="indexTop">

        <div>{{message}}</div>
  </div>
</template>

<script>
  import Vue from 'vue'
  import axios from 'axios'  var message = {}

  export default {
    name: "indexTop",
    data() {      return {
        message: message
      }
    },
    mounted() {      this.$nextTick(function () {        var self = this;
        axios.get('http://localhost:66/studio/banner')
          .then(function (res) {
            console.log(res.data);
            self.message = res.data.length
          })
          .catch(function (err) {
            console.log(err);
          })
      });
    }
  }</script>

我自己解决了,new vue和export default写法不一样啊,想死

查看完整回答
反对 回复 2018-10-31
  • 2 回答
  • 0 关注
  • 1078 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信