Javascript VueJS:将获取数据获取到Vue中

Javascript VueJS:将获取数据获取到Vue中,javascript,vue.js,Javascript,Vue.js,我有一段VueJS代码,里面有一个fetch,它成功地获取了笑话,并打算用它填充一个div,但是我注意到了一些东西 window.onload = function () { var app = new Vue({ delimiters: ['[[', ']]'], el: '#app', data: { jokes: [] } }); function postdata(app){ var

我有一段VueJS代码,里面有一个fetch,它成功地获取了笑话,并打算用它填充一个div,但是我注意到了一些东西

window.onload = function () {
    var app = new Vue({
      delimiters: ['[[', ']]'],
      el: '#app',
      data: {
        jokes: []
      }
    });

    function postdata(app){
        var initial_data = {'id': 1, 'model-name': 'Joke'}
        var self = this;
        fetch("\start-jokes\/", {
            body: JSON.stringify(initial_data),
            cache: 'no-cache', 
            credentials: 'same-origin', 
            headers: {
                'user-agent': 'Mozilla/4.0 MDN Example',
                'content-type': 'application/json'
            },
            method: 'POST',
            mode: 'cors', 
            redirect: 'follow',
            referrer: 'no-referrer',
            })
            .then(response => response.json()).then((json) => { console.log(json['jokes'])
                app.jokes.push(json['jokes'])
            })
    }

    postdata(app)
};
该响应包含一个数组,其中包含一个dict,其中包含
文本
名称
的密钥对值

但是仔细看看为什么没有任何东西被填充,我已经在控制台上记录了同样的内容。(检查元素中网络选项卡的前一个图像)

现在,dict中的每个元素都有一个反应式的
get
set
。如何将其转换为JSON


请注意,我已经尝试登录控制台
app.jobs
并返回
未定义的

在DOM中使用滞留的vue方法

new Vue({
    el: '#app',
    data: {
      title: '',
      message: ''
    },
    mounted: function() {
      this.postdata()
    },
    methods: {
        postdata(){
            var initial_data = {'id': 1, 'model-name': 'Joke'}
            var self = this;
            fetch("\start-jokes\/", {
                body: JSON.stringify(initial_data),
                cache: 'no-cache', 
                credentials: 'same-origin', 
                headers: {
                    'user-agent': 'Mozilla/4.0 MDN Example',
                    'content-type': 'application/json'
                },
                method: 'POST',
                mode: 'cors', 
                redirect: 'follow',
                referrer: 'no-referrer',
                })
                .then(response => response.json()).then((json) => { console.log(json['jokes'])
                    this.jokes.push(json['jokes'])
                })
        }
    }
  })

这是个问题吗?是的。。。也许没有这样的措辞,但我很好奇为什么它会返回这样的结果(我在react中也使用了同样的结果,而且效果很好),以及我如何将其转换为json。你在哪里登录
app.jobs
?它在任何一点上都只是一个数组。另外,您可能打算执行
app.crooks.push(…json.crooks)
app.crooks=json.crooks
。@Decademon是的,解耦似乎已经完成了。顺便说一句:您应该认真研究一下,它做了很多与从e获取数据相关的事情。GREST API非常适合您,可与Vue配合使用。尽管SyntaxError:function语句需要名称脚本,但此代码仍会引发错误。js:10:18