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

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

vue實現從外部修改組件內部的變量的值

瀏覽:75日期:2022-12-21 16:04:21

1、首先是如何給你定義的變量拿到數據:

這里我自己用的是vuex:

首先在你項目的src文件夾下創建這么一個目錄:

vue實現從外部修改組件內部的變量的值

之后就要在index.js中將homedatas.js(拿數據的js)共享出去,使頁面能拿到數據,

以下是index.js的代碼:

vue實現從外部修改組件內部的變量的值

隨后就是在homedatas中獲取數據了,以下是homedatas.js代碼:

vue實現從外部修改組件內部的變量的值

以上就是獲取數據的步驟,之后就是在頁面中拿到這個獲取到的數據:

首當其沖不可少的就是引用,引用vuex和引用組件:

vue實現從外部修改組件內部的變量的值

之后在頁面的jascript中的export default中定義組件,獲取數據:

vue實現從外部修改組件內部的變量的值

用這個方式在頁面中引用組件,然后再自定義標簽中將數據傳遞給組件:

vue實現從外部修改組件內部的變量的值

2、子組件中獲取父組件傳遞過來的數據:

props中定義屬性,這是之前在頁面自定義標簽中設置的三個屬性,分別控制組件中的不同部分,定義每個屬性的類型、默認值以及測試函數,注意,測試函數一定要return一個值,不然頁面會報錯,測試函數的參數就是傳遞過來的值:

vue實現從外部修改組件內部的變量的值

scrolldatas是一個數組,之后便是循環遍歷這個數組中的元素,數組中的值就能展示在頁面了,頁面元素會隨著數組元素的改變而改變:

vue實現從外部修改組件內部的變量的值

之后就是其他兩個變量怎么在組建中引用了:

首先我要在測試函數中判斷一下,這個傳進來的值符合不符合要求,如果不符合,那就不執行測試函數,就是默認值,如果符合要求,執行函數,并在函數中改變默認值,賦值給相應自定義變量:

vue實現從外部修改組件內部的變量的值

之后就是調用函數,調用函數中傳入參數,這個參數現在的值不是最開始var的初始值,而是后來測試函數中因為符合測試函數的條件后來賦給的值(因為window.onload直到頁面加載才會執行):

vue實現從外部修改組件內部的變量的值

之后就要在需要用到這個變量的函數中傳一個參數(speed,這個speed的值就是上面changespeed的值):

vue實現從外部修改組件內部的變量的值

所以經過一會說那個的操作,只要在獲取數據的地方修改值,頁面效果就會隨之改變,不需要再組件中修改任何東西:

vue實現從外部修改組件內部的變量的值

補充知識:vue 中如何修改傳給component中的屬性的值并賦值到template中

記錄下來加強記憶

在外面引用option-item-template模板并傳值進去,然后在component中對值進行修改然后在賦值到template

下面是外面引用的寫法

<option-item-template v-bind:item='item' v-for='optionItem in item.option' v-bind:optionitems='optionItem' v-bind:answer='item.data.answer' v-bind:hassub='changeData.hasSub'></option-item-template>

模板部分的代碼

Vue.component(’option-item-template’, { props: [’item’, ’optionitems’, ’answer’,’hassub’], data: function () { return { classname: {'choose-content': true,'stan-answer': false } } }, watch: { hassub: function (newValue, oldValue) {//當hassub屬性的值發生改變時會執行下面的代碼 this.changeStanAnswer(newValue, this.answer); } }, mounted: function () {//模塊編譯/掛載之后執行 this.changeStanAnswer(this.hassub,this.answer); }, methods: { changeStanAnswer: function (sub, answer) { if (sub && (answer.indexOf(this.optionitems.chooseName) != -1)) {this.classname = { 'choose-content': true, 'stan-answer': true}; } else {this.classname = { 'choose-content': true, 'stan-answer': false}; } } }, template: ’<li v-if='optionitems.selectName || optionitems.selectImage'>’ + ’<label :class='classname'>’ + ’<input v-if= 'item.data.itemType==2' type='checkbox' :name='item.data.tiKuId' v-bind:data-number='item.data.shiJuanNumber' data-type='checkbox' :value='optionitems.chooseName' />’ + ’<input v-else type='radio' :name='item.data.tiKuId' v-bind:data-number='item.data.shiJuanNumber' :value='optionitems.chooseName' data-type='radio' />’ + ’<span >{{optionitems.chooseName}}</span>’ + ’<span class='choose-text'>’ + ’{{optionitems.selectName}}’ + ’![在這里插入圖片描述]()’ + ’</span>’ + ’</label></li>’});

由上面的代碼所示,根據傳進來的值hassub,和optionitems.chooseName的值來拼成最后需要加載的樣式及class的值。hassub的值是會變化的,同時需要根據改變的值加載不同的樣式就需要在watch中監聽hassub的值,當它的值發生改變時同時也改變class的值。

以上這篇vue實現從外部修改組件內部的變量的值就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 日本色图在线 | 国产精品午夜久久 | 污污网站免费入口链接 | 日韩欧美成人免费中文字幕 | 中国一级毛片免费观看 | 国产亚洲精品一区久久 | 亚洲永久精品免费www52zcm男男 | 欧洲第一区第二区第三区 | 亚洲国产美女视频 | 日本一级毛片高清免费观看视频 | 最新国产网址 | 1024你懂的国产日韩欧美 | 九九精品久久久久久久久 | 影视先锋影音在线中文字幕 | 美国一级大黄大色毛片 | 国产精品欧美韩国日本久久 | 不卡一级aaa全黄毛片 | 亚洲黄色中文字幕 | 国产羞羞的视频在线观看免费 | 一区在线观看 | 天堂影院jav成人天堂免费观看 | 日韩不卡视频在线 | 国内精品久久久久影院不卡 | 欧美日韩在线观看区一二 | 欧美日韩一区二区三区色综合 | 国产亚洲精品久久午夜 | 国产成人在线播放视频 | 色偷偷亚洲女人天堂观看欧 | 久久国产自偷自偷免 | 国产精品亚洲第一区焦香 | 亚洲女教师 | 国产美女免费国产 | 国产在线观看一区精品 | 日本最新伦中文字幕 | 另类免费视频 | 美日韩在线视频 | 五月婷婷开心中文字幕 | 亚洲国产精品综合久久网络 | 亚洲丁香婷婷 | 性生活免费网站 | 亚洲福利 |