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!

推薦閱讀: