javascript - 来自 API 调用的 VueJS 数据不显示

标签 javascript api vue.js

我希望你能帮我解决这个问题。我正在尝试根据 API 调用动态显示一些按钮。我只是碰巧没有设法在页面呈现之前接收数据。

new Vue({
        el: '#app',
        data : function(){
            return{
                results : [],
            }
        },

        beforeCreate : function(){
                    axios.get('somesite')
                      .then(function (response) {
                        this.results =  response.data;
                        console.log(this.results);
                      })
                      .catch(function (error) {
                        console.log(error);
              }); 
          },
})

html 是:

<html>
    <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, user-scalable=no">
            <link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">

    </head>
    <body>
        {% raw %}
        <div class="container">
            <div id="app">
                <div class="response_list">
                    <button class="entries" v-for="entry in results"></button>
                </div>
            </div>
        </div>
        {% endraw %}
        <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/vue/2.4.2/vue.min.js"></script>
        <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
        <script type="text/javascript"  src="{{ url_for('static', filename='js/index.js') }}"></script>

        </body>
</html>

最佳答案

看来您没有绑定(bind)到 axios Promise 函数中 beforeCreate 方法的上下文。

通过使用前向箭头函数将组件的上下文绑定(bind)到axios promise 函数,您将能够更新组件正确的数据对象:

beforeCreate : function(){
  axios.get('/')
    .then((response) => {
      this.results =  response.data
      console.log(this.results)
    })
    .catch((error) => {
      console.log(error)
    });
},

关于javascript - 来自 API 调用的 VueJS 数据不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45947762/

相关文章:

javascript - 协助在 Javascript 中连接四极小极大算法

api - Web API Controller 方法 -- 请求为空

api - 谷歌云语音 API 词提示

java - Java 中是否有用于文本分析/挖掘的 API?

javascript - 将 Vue 查询参数从当前路由传递到 router-link

javascript - vue + quill - 图标显示为文本(由文件加载器引起)

javascript - 为什么我丢失了 iframe 的 src?

javascript - React - 使用 Map 渲染对象数组

javascript - Angular Material : layout-fill not filling parent <div>

javascript - $在 vue.js,es6 语法中从子级向父级发出事件