成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

vue 使用v-for動(dòng)態(tài)生成的ref不能通過this.refs.name獲取到內(nèi)容

PrototypeZ / 2770人閱讀

摘要:中的代碼是經(jīng)過一番排查之后我發(fā)現(xiàn)這個(gè)問題是的問題當(dāng)中直接使用時(shí)它會(huì)直接返回但是中這個(gè)是在中動(dòng)態(tài)生成時(shí)它返回的是一個(gè)數(shù)組必須通過才可以獲取到對應(yīng)的元素。

在vue的項(xiàng)目中做圖片上傳時(shí),我通過上傳圖片后獲取到input中的files屬性將其進(jìn)行處理,然后將其轉(zhuǎn)換為base64傳給后臺。 這個(gè)方法用在非v-for上動(dòng)態(tài)生成的ref上時(shí),可以通過 this.$refs.name.files[0]獲取到相關(guān)元素,但是將這個(gè)方法用在v-for動(dòng)態(tài)上傳的列表中,而且ref也是通過動(dòng)態(tài)生成的時(shí)候就獲取不到目標(biāo)元素的files。結(jié)論在最后,可以直接看。

我多帶帶上傳圖片的方法是

    uploadImg(refName) {
        let file = this.$refs[refName].files[0];
        let that = this;
        let reader = new FileReader();
        let imgUrlBase64;
        if (file) {
            imgUrlBase64 = reader.readAsDataURL(file);
            let name = file.name.split(".");
            reader.onload = function(e) {
                let imgFile= reader.result.substring(
                    reader.result.indexOf(",") + 1
                ); 
                let obj = {
                    img: [
                        {
                            originalFileName: name[0],
                            fileExtension: "." + name[1],
                            fileContent: imgFile
                        }
                    ]
                };
                that.$axios
                    .post("www.baidu.com", {
                        obj: JSON.stringify(obj)
                    })
                    .then(res => {
                        let _data = res.data.xxx;
                        if (_data.xxx== "1") {
                            let imgURL  = _data.img;
                            that.imgList.push(imgURL);
                        }
                    })
                    .catch(err => {
                        console.log(err);
                    });
            };
        }
    }

該方法在不是通過v-for生成的ref時(shí),可以正常使用,但是將這個(gè)方法用在v-for動(dòng)態(tài)上傳的列表中,而且ref也是通過動(dòng)態(tài)生成的時(shí)候就遇到了問題。
template中的代碼是:

    
  • {{item.name}}
經(jīng)過一番排查之后,我發(fā)現(xiàn)這個(gè)問題是ref的問題: 當(dāng)template中直接使用ref時(shí),它會(huì)直接返回ref,但是template中這個(gè)ref是在v-for中動(dòng)態(tài)生成時(shí),它返回的是一個(gè)數(shù)組,必須通過 this.$refs[refName].files[0]才可以獲取到對應(yīng)的元素。所以上面的方法在加一個(gè)判斷即可實(shí)現(xiàn)。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/105195.html

相關(guān)文章

  • 前端初學(xué)基礎(chǔ)知識 1

    摘要:前端學(xué)習(xí)記錄基礎(chǔ)知識盒模型所有元素可以看作盒子,在中,這一術(shù)語是用來設(shè)計(jì)和布局時(shí)使用。合并后的外邊距的高度等于兩個(gè)發(fā)生合并的外邊距的高度中的較大者。按照層次結(jié)構(gòu)像至低向上直到頂端,這就是事件冒泡。 前端學(xué)習(xí)記錄 week 1 基礎(chǔ)知識 CSS盒模型 所有HTML元素可以看作盒子,在CSS中,box model這一術(shù)語是用來設(shè)計(jì)和布局時(shí)使用。CSS盒模型本質(zhì)上是一個(gè)盒子,封裝周圍的HTM...

    MASAILA 評論0 收藏0
  • 前端初學(xué)基礎(chǔ)知識 1

    摘要:前端學(xué)習(xí)記錄基礎(chǔ)知識盒模型所有元素可以看作盒子,在中,這一術(shù)語是用來設(shè)計(jì)和布局時(shí)使用。合并后的外邊距的高度等于兩個(gè)發(fā)生合并的外邊距的高度中的較大者。按照層次結(jié)構(gòu)像至低向上直到頂端,這就是事件冒泡。 前端學(xué)習(xí)記錄 week 1 基礎(chǔ)知識 CSS盒模型 所有HTML元素可以看作盒子,在CSS中,box model這一術(shù)語是用來設(shè)計(jì)和布局時(shí)使用。CSS盒模型本質(zhì)上是一個(gè)盒子,封裝周圍的HTM...

    haobowd 評論0 收藏0
  • 前端初學(xué)基礎(chǔ)知識 1

    摘要:前端學(xué)習(xí)記錄基礎(chǔ)知識盒模型所有元素可以看作盒子,在中,這一術(shù)語是用來設(shè)計(jì)和布局時(shí)使用。合并后的外邊距的高度等于兩個(gè)發(fā)生合并的外邊距的高度中的較大者。按照層次結(jié)構(gòu)像至低向上直到頂端,這就是事件冒泡。 前端學(xué)習(xí)記錄 week 1 基礎(chǔ)知識 CSS盒模型 所有HTML元素可以看作盒子,在CSS中,box model這一術(shù)語是用來設(shè)計(jì)和布局時(shí)使用。CSS盒模型本質(zhì)上是一個(gè)盒子,封裝周圍的HTM...

    csRyan 評論0 收藏0
  • Vue_Vue權(quán)威指南

    摘要:效率不高,很多多余,稱之為臟檢查。通過索引設(shè)置數(shù)組元素并觸發(fā)視圖更新。解決閃爍問題自定義指令自定義指令提供一種機(jī)制將數(shù)據(jù)的變化映射為行為。 Vue特性 Vue只是聚焦視圖層,是一個(gè)構(gòu)建數(shù)據(jù)驅(qū)動(dòng)的Web界面的庫。 Vue通過簡單 API提供高效的數(shù)據(jù)綁定和靈活的組件系統(tǒng) 輕量 數(shù)據(jù)綁定 指令 插件化 架構(gòu)從傳統(tǒng)后臺MVC 向REST API + 前端MV*遷移DOM是數(shù)據(jù)的一種自然映...

    SimonMa 評論0 收藏0
  • 后端開發(fā)者Vue學(xué)習(xí)之路(三)

    摘要:使用組件全局定義組件,第一個(gè)參數(shù)是組件名,的值是組件的內(nèi)容這是個(gè)待辦項(xiàng)實(shí)例化是必須的,要把使用組件的區(qū)域交給管理局部注冊組件局部注冊組件全局注冊往往是不夠理想的。目錄 上節(jié)內(nèi)容回顧 組件 什么是組件 組件注冊 全局注冊組件 局部注冊組件 ...

    番茄西紅柿 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<