成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

PrototypeZ / 2641人閱讀

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

在vue的項(xiàng)目中做圖片上傳時(shí),我通過上傳圖片后獲取到input中的files屬性將其進(jìn)行處理,然后將其轉(zhuǎn)換為base64傳給后臺(tái)。 這個(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]才可以獲取到對(duì)應(yīng)的元素。所以上面的方法在加一個(gè)判斷即可實(shí)現(xiàn)。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/105195.html

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

    番茄西紅柿 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

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