仅在第一次滚动后(使用axios)渲染vuejs内容

bboy

我的(vuejs)主页包含以下内容:

模板: <h3>{{ strings.home_headline }}</h3>

脚本:

data() {
    return {
      strings: []
    };
},
methods: {
    fetchData: function(){
      var self = this;

      // get translatable strings
      axios
        .get(MY_API_URL, {
          headers: { "X-Locale": self.locale }
        })
        .then(function(data) {
          self.strings = data.data;

          // This console works and outputs the right content; 
          console.log("strings: ", self.strings);
          // outputs the text that should come in the H3 
          console.log(strings.home_headline)
        })
        .catch(function(error) {
          console.log("Error", error);
        });
    }
},
created() {
    this.fetchData();
}

console.log作品有效,但模板h3为空,直到滚动第一个像素,然后所有内容均用文本填充。我在这里做错了什么?

帕特里克·阿特纳

将成员从数组切换到对象

return {
  // you need the fields here as well - an "empty" prepared object
  strings: { 
    home_headline: "", // more fields go here
  }  
};

并更改您正在使用的救生钩,应该可以解决您的问题:

async mounted() {
    await this.fetchData();
}

var app = new Vue({
  el: '#app',
  data() {    
    return {
      strings: { home_headline: ""}
    };
  },
  methods: {
    fetchData: function() {
      self = this;
      //will lead to error
      axios
        .get("error", {
          headers: {
            "X-Locale": self.locale
          }
        })
        .then(function(data) {
          self.strings.home_headline = "TATü"; 
        })
        .catch(function(error) {
          self.strings.home_headline = "TATö"; 
        });
    }
  },
  async mounted() {
    await this.fetchData();
  },
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.19.2/axios.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>

<div id="app">
  <h3>{{ strings.home_headline }}</h3>
</div>

为了使vue启用更改更新,您需要已经在对象上指定了字段。

关于生命周期挂钩:

created,模板和Virtual DOM尚未安装或呈现。https://www.digitalocean.com/community/tutorials/vuejs-component-lifecycle#creation-初始化)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

$()。html()仅在第一次使用

来自分类Dev

jQuery .on()仅在第一次使用

来自分类Dev

NSURLSession dataTaskWithRequest仅在第一次使用

来自分类Dev

在第一次出现字符串后使用Regex捕获内容

来自分类Dev

sed命令,仅在第一次出现后才添加特定工作后的文本

来自分类Dev

第一次单击后,滚动到顶部滚动到底部

来自分类Dev

Android ListView在第一次滚动后重置滚动位置

来自分类Dev

延迟后(仅一次)或第一次加载页面上的 iFrame 后滚动到页面顶部

来自分类Dev

使功能第一次使用Tkinter单击后只能运行一次吗?

来自分类Dev

Bootstrap折叠仅在第一次单击后显示类.collapsed

来自分类Dev

bash for-loop:仅在第一次迭代后执行某些操作

来自分类Dev

响应式 Google 图表仅在第一次调整大小后显示

来自分类Dev

用户权限检查仅在安装后第一次有效

来自分类Dev

iOS UITableViewCell内容在第一次滚动时移动

来自分类Dev

第一次导航后,React Router不会渲染推送的页面

来自分类Dev

React Native Navigator-路由直到第一次导航推送后才渲染?

来自分类Dev

UIScrollView中的UITableView在滚动后不响应第一次点击

来自分类Dev

第一次使用Mockito

来自分类Dev

Laravel - 第一次使用

来自分类Dev

动画仅在WPF中第一次出现

来自分类Dev

作用域变量仅在第一次更新

来自分类Dev

RxSwift:代码仅在第一次工作

来自分类Dev

Android WebView仅在第一次失败

来自分类Dev

Java Socket仅在第一次发送数据

来自分类Dev

jquery .load()函数仅在第一次工作

来自分类Dev

AngularJS $ animation addClass仅在第一次调用

来自分类Dev

动画仅在WPF中第一次出现

来自分类Dev

NSTimer仅在第一次工作(快速)

来自分类Dev

for循环仅在第一次迭代时执行

Related 相关文章

  1. 1

    $()。html()仅在第一次使用

  2. 2

    jQuery .on()仅在第一次使用

  3. 3

    NSURLSession dataTaskWithRequest仅在第一次使用

  4. 4

    在第一次出现字符串后使用Regex捕获内容

  5. 5

    sed命令,仅在第一次出现后才添加特定工作后的文本

  6. 6

    第一次单击后,滚动到顶部滚动到底部

  7. 7

    Android ListView在第一次滚动后重置滚动位置

  8. 8

    延迟后(仅一次)或第一次加载页面上的 iFrame 后滚动到页面顶部

  9. 9

    使功能第一次使用Tkinter单击后只能运行一次吗?

  10. 10

    Bootstrap折叠仅在第一次单击后显示类.collapsed

  11. 11

    bash for-loop:仅在第一次迭代后执行某些操作

  12. 12

    响应式 Google 图表仅在第一次调整大小后显示

  13. 13

    用户权限检查仅在安装后第一次有效

  14. 14

    iOS UITableViewCell内容在第一次滚动时移动

  15. 15

    第一次导航后,React Router不会渲染推送的页面

  16. 16

    React Native Navigator-路由直到第一次导航推送后才渲染?

  17. 17

    UIScrollView中的UITableView在滚动后不响应第一次点击

  18. 18

    第一次使用Mockito

  19. 19

    Laravel - 第一次使用

  20. 20

    动画仅在WPF中第一次出现

  21. 21

    作用域变量仅在第一次更新

  22. 22

    RxSwift:代码仅在第一次工作

  23. 23

    Android WebView仅在第一次失败

  24. 24

    Java Socket仅在第一次发送数据

  25. 25

    jquery .load()函数仅在第一次工作

  26. 26

    AngularJS $ animation addClass仅在第一次调用

  27. 27

    动画仅在WPF中第一次出现

  28. 28

    NSTimer仅在第一次工作(快速)

  29. 29

    for循环仅在第一次迭代时执行

热门标签

归档