Vue動態(tài)引用json數(shù)據(jù)的兩種方式
1. 將 JSON 文件放在合適的位置
通常會將 JSON 文件放在 public 或 src/assets 目錄下:
- 如果放在
public文件夾中,可以通過相對路徑直接訪問。 - 如果放在
src/assets文件夾中,需要通過import引入。
2. 引用 JSON 文件的方式
方式一:使用 import 引入(推薦)
假設你的 JSON 文件名為 data.json,內容如下:
[
{ "id": 1, "name": "Alice" },
{ "id": 2, "name": "Bob" },
{ "id": 3, "name": "Charlie" }
]
步驟:
- 將
data.json放在src/assets文件夾中。 - 在 Vue 組件中通過
import引入并使用。
代碼示例:
<template>
<div>
<h3>JSON 數(shù)據(jù)列表</h3>
<ul>
<li v-for="item in jsonData" :key="item.id">
{{ item.name }}
</li>
</ul>
</div>
</template>
<script>
// 引入 JSON 文件
import jsonData from '@/assets/data.json';
export default {
data() {
return {
jsonData, // 將 JSON 數(shù)據(jù)綁定到組件的 data 中
};
},
};
</script>
說明:
@是 Webpack 的別名,表示src文件夾。- JSON 文件會被自動解析為 JavaScript 對象或數(shù)組。
方式二:通過 fetch 或 axios 動態(tài)加載
如果 JSON 文件放在 public 文件夾中,可以使用 fetch 或 axios 動態(tài)加載。
步驟:
- 將
data.json放在public文件夾中。 - 使用
fetch或axios加載 JSON 文件。
代碼示例:
<template>
<div>
<h3>JSON 數(shù)據(jù)列表</h3>
<ul>
<li v-for="item in jsonData" :key="item.id">
{{ item.name }}
</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
jsonData: [], // 初始化為空數(shù)組
};
},
mounted() {
// 使用 fetch 加載 JSON 文件
fetch('/data.json') // public 文件夾下的文件可以直接通過根路徑訪問
.then((response) => response.json())
.then((data) => {
this.jsonData = data; // 將數(shù)據(jù)賦值給 jsonData
})
.catch((error) => {
console.error('加載 JSON 文件失敗:', error);
});
},
};
</script>
說明:
public文件夾中的文件不會被 Webpack 處理,而是直接復制到構建目錄中,因此可以通過根路徑訪問。- 如果使用
axios,代碼類似,只需將fetch替換為axios.get。
3. 總結兩種方式的適用場景
import方式:- 適用于靜態(tài)數(shù)據(jù),數(shù)據(jù)在編譯時確定。
- 數(shù)據(jù)會被打包進最終的 JavaScript 文件中。
fetch或axios方式:- 適用于動態(tài)加載的數(shù)據(jù),或者 JSON 文件較大、不需要每次都加載的情況。
- 數(shù)據(jù)不會被打包進 JavaScript 文件中,而是運行時從服務器加載。
根據(jù)你的需求選擇合適的方式!
到此這篇關于Vue動態(tài)引用json數(shù)據(jù)的兩種方式的文章就介紹到這了,更多相關Vue引用json數(shù)據(jù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
創(chuàng)建vue報錯vue-cli Failed to download repo&n
通過vue-cli創(chuàng)建Vue項目時,若遇到連接超時錯誤,可采用離線方式解決,具體操作是下載并解壓vue-templates/webpack到本地.vue-templates目錄,再使用--offline參數(shù)重新執(zhí)行初始化命令2024-09-09
vue-cli3使用mock數(shù)據(jù)的方法分析
這篇文章主要介紹了vue-cli3使用mock數(shù)據(jù)的方法,結合實例形式分析了vue-cli3使用mock數(shù)據(jù)的相關實現(xiàn)方法與操作注意事項,需要的朋友可以參考下2020-03-03
深入理解與使用keep-alive(配合router-view緩存整個路由頁面)
這篇文章主要介紹了深入理解與使用keep-alive(配合router-view緩存整個路由頁面),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09
vue簡單封裝axios插件和接口的統(tǒng)一管理操作示例
這篇文章主要介紹了vue簡單封裝axios插件和接口的統(tǒng)一管理操作,結合具體實例形式分析了vue中axios插件安裝、配置及接口統(tǒng)一管理具體操作技巧,需要的朋友可以參考下2020-02-02

