gpt4 book ai didi

javascript - 如何在 Vue SPA 中获取 JSON 数据?

转载 作者:行者123 更新时间:2023-11-30 20:09:22 25 4
gpt4 key购买 nike

我通过 @vue/cli 3.0 创建了一个示例 Vue 应用程序:

vue create testapp
cd testapp
npm run serve

作为 mounted() 的一部分,我想获取一些本地数据:

fetch("users.json")
.then(r => r.json())
.then(r => this.users = r.hits.hits.map(x => x._source))

其中 usersdata() 中定义。

响应是

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="/favicon.ico">
<title>example.com</title>
<link href="/about.js" rel="prefetch"><link href="/app.js" rel="preload" as="script"></head>
<body>
<noscript>
<strong>We're sorry but example.com doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
<script type="text/javascript" src="/app.js"></script></body>
</html>

我尝试将 JSON 文件移动到应用程序根目录中的 static(与 src 处于同一级别,然后在 assets 中然后在我能想到的任何地方——答案总是来自应用程序,它假设这是对 HTML/JS/CSS 内容的请求,而不是原始数据。

这样的静态文件应该放在哪里?

最佳答案

您可以在开始时将 JSON 分配到您的数据中,在您的 App.vue

中试试这个
<template>
<div>
<div v-for="user in users">{{user}}</div>
</div>
</template>
<script>
import json from './users.json'
export default{
data(){
return{
users: json
}
}
}
</script>

还要确保你的 main.js 有 import App.vue

import Vue from 'vue'
import App from './App'

new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})

将您的 users.json 定位在与 src 相同的级别(与 App.vue 相同)就可以了。

希望对您有所帮助!干杯

关于javascript - 如何在 Vue SPA 中获取 JSON 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52558686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com