javascript - vue.js http 获取 web api url 渲染列表

标签 javascript vue.js vue-resource

我正在使用 vue.js 从 Web api 获取项目列表并将它们呈现在列表中,但当前该列表仅呈现响应在数组中返回的八个项目中的一项,请帮忙! https://codepen.io/mruanova/pen/mprEap?editors=1111

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/0.12.7/vue.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue-resource/0.1.13/vue-resource.min.js"></script>
<div id="app">
{{projects}}
<ul>
  <li v-for="project in projects">PROJECT {{project.ProjectId}}</li>
</ul>
</div>
<script>
    new Vue({
        el: '#app',
        data: {
            projects: []
        },
        ready: function () {
            var self = this;
            const url = "https://246gg84zg8.execute-api.us-west-2.amazonaws.com/prod/projects";
            this.$http.get(url).then(function (data) {
                console.log(JSON.parse(data.response).Items.length)
             console.log(JSON.parse(data.response).Items[0].ProjectId)
                self.$set('projects', JSON.parse(data.response).Items)
            })
        }
    })
</script>

当前结果:

[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象]

项目

预期:

项目1 项目2 项目3 项目4 项目5 项目6 项目7 项目8

最佳答案

这里有几个问题。首先,您使用的是非常版本的 Vue,至少可以说这是不可取的。一旦我清理了您发布的 codepen 示例,引入了当前版本的 Vue,并将内容更新为更惯用,您的代码的基本概念就可以正常工作。

https://codepen.io/nickforddesign/pen/rpMLgV?editors=1011

new Vue({
  el: '#app',
  data() {
    return {
      projects: []
    }
  },
  created() {
    const url = 'https://246gg84zg8.execute-api.us-west-2.amazonaws.com/prod/projects';
    this.$http.get(url).then(data => {
      const items = JSON.parse(data.response).Items
      items.map(item => {
        // push to the projects array to make sure Vue's reactivity works
        this.projects.push(item)
      })
    })
  }
})

关于javascript - vue.js http 获取 web api url 渲染列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47931508/

相关文章:

javascript - “被 CORS 策略阻止”,但存在 header

javascript - Vuejs ajax GET 请求未在 Laravel 5.1 Blade 模板中返回数据

javascript - 时间间隔中的jQuery函数

javascript - 找到一个类的第一个实例的id

javascript - 无法使用自定义 PUBLIC_URL 构建 create-react-app 项目

javascript - Vue 将插槽模板传递给扩展组件

javascript - 如何跟踪表单中的焦点元素

javascript - 如何访问 Collection View (或布局)的 templateHelper 中的特定模型?

vuejs2 - 如何在 vue-resource http 拦截器中重定向用户?

javascript - 为什么打开另一个页面时组件上的数据没有更新? (Vue.JS 2)