色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

vue3.0 加載json的方法(非ajax)

瀏覽:6日期:2022-11-11 13:57:21

問題

加載json一定要用ajax的方式嗎?

最近學習vue3.0,在實現一個功能的時候發現一個問題——寫代碼的時候,需要的json太長、太多,和代碼放在一起太混亂。看代碼總有翻來翻去,又沒有“折疊”功能。那么能不能把json放在一個單獨的文件里面保存,然后在加載進來呢?

查了半天的資料,發現那叫一個折騰呀,各種各樣的配置不說,最后還需要用ajax的方式來加載。這個,這么簡單的事情為啥要這么折騰?

你看引用組件是不是很方便?一行代碼就搞定了。就像下面這樣:

import nfInput from ’@/components/nf-form-item.vue’

等等,組件??

思路

上面提到了組件,那么能不能把json放在組件里面保存,然后“頁面”里加載組件獲取組件里面的json呢?各種嘗試之后發現是可以的,涉及幾個關鍵字:

組件、屬性、data、生命周期、$emit、watch

先定義一個組件,設置一個屬性,這個屬性不是接收數據的,而是返回json的一個橋梁。 然后在組件的data里面定義需要的json。 在組件的 created 事件里面通過 $emit 向父級提交data(json)數據 由于是setup先執行,組件的created后執行,所以需要在setup里面設置watch監聽屬性的變化,得到需要的json后賦值給需要的對象。

當然,json可以直接寫在created里面,不過還是感覺放在data里面更適合一些。

解決

定義組件

<template> <span :value='modelValue'></span> <!--使用span--></template><script>export default { name: ’nf-getjson’, props: { modelValue: Object // 屬性名稱需要寫modelValue 方便一些 }, data: function () { return { //需要的json json: { controlId: 101, controlType: 100, colName: ’abc’, isClear: true, disabled: false, required: true, class: ’1’, title: ’1’, rows: 5, cols: 50, placeholder: ’請輸入’, readonly: false } } }, created: function () { this.$emit(’update:modelValue’, this.json) // 返回給調用者,vue3.0的改變的地方 }}</script>

.vue文件

<template> <nfJosn v-model='title' /> <!--就是那個傳說中的組件,使用v-model 傳遞數據--></template><script>import { ref, watch } from ’vue’ // 需要watch進行監聽import nfJosn from ’@/components/nf-getjson.vue’ // 加載組件export default { name: ’FormHelp’, components: { nfHelp }, setup () { const value = ref(’’) // 定義一個屬性 const json = ref({}) // 接收返回的json // 監聽屬性變化 watch(() => value.value, json => { json.value = json }) return { value, json } }}</script>

基本就是這樣,不需要加事件。

小結

以上代碼在vue3.0 beta版里測試通過。也不知道有沒有人用過這種方式,也不知道這種方式是否符合vue的規范,總之先這么用著,不行再改。

以上就是vue3.0 加載json的方法(非ajax)的詳細內容,更多關于vue3.0 加載json的資料請關注好吧啦網其它相關文章!

標簽: Vue
相關文章:
主站蜘蛛池模板: 国产精品高清在线 | 特级毛片永久久免费观看 | 亚洲美女在线视频 | 亚洲午夜在线播放 | 毛片美国基地 | 免费亚洲网站 | 欧美激情视频在线观看一区二区三区 | 2021国产精品自在拍在线播放 | 精品国产系列 | 欧美yyy | 八戒午夜精品视频在线观看 | 久免费视频 | 日韩一区二区三区精品 | 2345成人高清毛片 | 国产欧美日韩在线观看一区二区三区 | 成人三级精品视频在线观看 | 国产精品视_精品国产免费 国产精品视频久 | 亚洲最大网站在线 | 日本无卡码免费一区二区三区 | 日本三片在在线播放 | 久久影院yy6080 | 久久怡红院亚欧成人影院 | 国产在线播放一区 | 精品亚洲欧美高清不卡高清 | 久久免费观看国产精品 | 亚洲在线播放视频 | 99精品视频在线观看免费播放 | 国产欧美日韩综合一区二区三区 | 亚洲日本视频在线观看 | 亚洲网在线观看 | 亚洲欧美高清视频 | 台湾一级特黄精品大片 | 国产4tube在线播放 | 全部免费的毛片在线看美国 | 久草在线青青草 | 久久国产影视 | 在线看片日本 | 麻豆一区 | 亚洲第一大网站 | 久久成人国产 | 色三级大全高清视频在线观看 |