亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

問題

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

最近學(xué)習(xí)vue3.0,在實(shí)現(xiàn)一個(gè)功能的時(shí)候發(fā)現(xiàn)一個(gè)問題——寫代碼的時(shí)候,需要的json太長(zhǎng)、太多,和代碼放在一起太混亂。看代碼總有翻來翻去,又沒有“折疊”功能。那么能不能把json放在一個(gè)單獨(dú)的文件里面保存,然后在加載進(jìn)來呢?

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

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

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

等等,組件??

思路

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

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

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

當(dāng)然,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: ’請(qǐng)輸入’, readonly: false } } }, created: function () { this.$emit(’update:modelValue’, this.json) // 返回給調(diào)用者,vue3.0的改變的地方 }}</script>

.vue文件

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

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

小結(jié)

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

以上就是vue3.0 加載json的方法(非ajax)的詳細(xì)內(nèi)容,更多關(guān)于vue3.0 加載json的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 成人午夜免费在线观看 | 成年午夜一级毛片视频 | 国产主播福利一区二区 | 亚洲精品大片 | 找国产毛片看 | 亚洲三级久久 | 日韩亚洲欧美综合 | 久久一本日韩精品中文字幕屁孩 | 国产一区二区精品人妖系列 | 成人午夜视频在线 | 国自产拍在线天天更新2019 | 一级毛片aa高清免费观看 | 欧美日韩视频在线一区二区 | 上海一级毛片 | 欧美成在线播放 | 日韩电影中文字幕 | 国产一区亚洲二区三区毛片 | 亚洲欧美日韩在线精品2021 | 亚洲第一页在线视频 | 日本欧美成人免费观看 | 久久乐国产精品亚洲综合m3u8 | 成年人免费网站在线观看 | 成人在线观看视频免费 | 久久精品国产色蜜蜜麻豆 | 国产一级免费 | 青青久久久 | 91精品福利在线观看 | 欧美日韩顶级毛片www免费看 | 天天综合色网 | 一级毛片中文字幕 | 国产精品xxxav免费视频 | 在线观看一区二区精品视频 | 成人亚洲在线观看 | 九九九色视频在线观看免费 | 免费超级淫片日本高清视频 | 爱色tv| 九九久久99综合一区二区 | 精品在线一区二区三区 | xxxxx爽日本护士在线播放 | 99热国产这里只有精品免费 | 中文无线乱码二三四区 |