uni-app如何讀取本地json數據文件並渲染到頁面上
前言
uni-app讀取本地json數據文件,有下面兩種方式可以實現:
- 文件後綴為.json類型
- 文件後綴為.js類型
具體演示代碼
1、文件後綴為.json類型
非H5端,這種類型的文件,目前隻能使用require進行導入,導入後為一個對象類型。import無法導入json文件。
① 在項目根目錄下,新建一個目錄data。
② 在data目錄下,新建一個cityData.json文件,寫上本地模擬json數據,註意文件後綴為json。
// cityData.json // 必須是""格式,否則報錯 [ {"id":"1","city":"深圳"}, {"id":"2","city":"廣州"} ]
③ 在index.vue頁面引入並使用。
<template> <view v-for="item in localData"> <text>{{item.name}}</text> </view> </template> <script> const cityData = require('@/data/cityData.json') export default { data() { return { localData: cityData } }, onLoad() { console.log('cityJson:'+JSON.stringify(cityData)); //=>cityJson:[{id:'',city:''},{id:'',city:''}] } } </script>
H5端,可以引入jq,使用jq的AJAX讀取本地的json文件。
$.getJSON('../../data/cityData.json').then((res)=>{ console.log('cityJson:'+JSON.stringify(res)); }); //=>cityJson:[{id:'',city:''},{id:'',city:''}]
2、文件後綴為.js類型
在js文件中寫入json數據,使用export導出。在需要的頁面中用import方式進行導入,import無法導入json文件。實現如下:
① 在項目根目錄下,新建一個目錄data。
② 在data目錄下,新建一個data.js文件,註意文件後綴為js。
③ 在data.js頁面中寫上本地模擬json數據,並導出。
④ 在index.vue頁面引入並使用。
方式1
// data.js const cityData = [ {id:'1',city:'深圳'}, {id:'2',city:'廣州'}, ] module.exports = { cityData: cityData } // index.vue <template> <view v-for="item in localData"> <text>{{item.city}}</text> </view> </template> <script> import data from "@/data/data.js" export default { data() { return { localData: data.cityData } }, } </script>
方式二(推薦)
// data.js const cityData = [ {id:'1',city:'深圳'}, {id:'2',city:'廣州'}, ] function refresh(){ return '' } export { cityData, refresh } // index.vue <template> <view v-for="item in localData"> <text>{{item.city}}</text> </view> </template> <script> import {cityData, refresh} from "@/data/data.js" export default { data() { return { localData: cityData } }, onLoad() { console.log(refresh()) console.log(JSON.stringify(cityData)) }, } </script>
註意事項
uni.request()是無法讀取本地的js文件和json文件的,jq是能讀取的,但是jq隻能在H5端引入使用。
總結
到此這篇關於uni-app如何讀取本地json數據文件並渲染到頁面上的文章就介紹到這瞭,更多相關uni-app讀取本地json數據文件內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Vue實現省市區級聯下拉選擇框
- 使用微信小程序制作核酸檢測點查詢工具
- uni-app小程序中父組件和子組件傳值的實現實例
- uniapp和vue的區別詳解
- uniapp中微信小程序與H5相互跳轉以及傳參詳解(webview)