Vue解決問題小記

1.箭頭函數(shù)解決function中訪問this報錯問題
at HTMLDivElement.eval (vehicleWarning.vue?3b7d:72)


wecom-temp-3ac472954edf6985ee245732dc0b347a.png
// 報錯如下(迷惑點:$refs['warningList']正常是可以訪問到的)
// 原因:函數(shù)里this的指向不再是外層了 
vehicleWarning.vue?3b7d:71 Uncaught TypeError: Cannot read properties of undefined (reading 'warningList')
    at HTMLDivElement.eval (vehicleWarning.vue?3b7d:72)
image.png

解決方案:使用箭頭函數(shù)


image.png
**箭頭函數(shù)基本特點**

**(1). 箭頭函數(shù)this為父作用域的this,不是調(diào)用時的this**

箭頭函數(shù)的this永遠(yuǎn)指向其父作用域淑翼,任何方法都改變不了玄括,包括call遭京,apply洁墙,bind热监。
普通函數(shù)的this指向調(diào)用它的那個對象孝扛。

let person = {
    name:'jike',
    init:function(){ //為body添加一個點擊事件幽崩,看看這個點擊后的this屬性有什么不同
        document.body.onclick = ()=>{
            alert(this.name);//?? this在瀏覽器默認(rèn)是調(diào)用時的對象是其父作用域的 
 }
    }
}
person.init();

上例中苦始,init是function,以person.init調(diào)用慌申,其內(nèi)部this就是person本身陌选,而onclick回調(diào)是箭頭函數(shù)理郑,
其內(nèi)部的this,就是父作用域的this咨油,就是person您炉,能得到name。

let person = {
    name:'jike',
    init:()=>{ //為body添加一個點擊事件役电,看看這個點擊后的this屬性有什么不同
        document.body.onclick = ()=>{
            alert(this.name);//?? this在瀏覽器默認(rèn)是調(diào)用時的對象是全局window
 }
    }
}
person.init();

上例中赚爵,init為箭頭函數(shù),其內(nèi)部的this為全局window法瑟,onclick的this也就是init函數(shù)的this冀膝,也是window,
得到的this.name就為undefined窝剖。

2.替換有贊組件中搜索框右邊刪除叉號的樣式和點擊事件采郎,替換左邊放大鏡UI顯示方案

            <van-sticky>
                <form action="/">
                    <van-search
                        v-model="searchText"
                        :left-icon="searchIcon" // 圖標(biāo)替換成自己的
                        :right-icon="rightIcon" // 圖標(biāo)替換成自己的
                        :clearable="false"
                        placeholder="搜索車牌號"
                        @search="onSearch"
                        @clear="onClear"
                        @input="inputChange"
                        @focus="inputChange"
                        @blur="endChange"/>
                </form>
            </van-sticky>
// js的data
        data () {
            return {
                current: '1',
                showPopup: false,
                searchText: '',
                searchIcon: require("@/assets/imgs/search.png"),
                rightIcon: require("@/assets/imgs/guanbi.png"),
                clearIcon: undefined
            }
        },
// 在mounted方法里獲取元素添加自定義清除叉號事件
        mounted () {
            this.getVehCount({ partnerCode: '12', status: '1' });
            this.refreshData();
            var righticon = document.getElementsByClassName("van-field__right-icon")[0]; // 獲取右邊圖標(biāo)
            this.clearIcon = righticon;
            this.clearIcon.style.display = "none"; // 文字為空時默認(rèn)不顯示
            // 添加清除圖標(biāo)的點擊事件
            this.clearIcon.addEventListener('click', () => {
                this.onClear()
            }, false);
        },
// 文字輸入監(jiān)聽事件慎颗,來決定圖標(biāo)的顯示或者隱藏
            inputChange () {
                if (this.searchText.length > 0) {
                    this.clearIcon.style.display = "block";
                } else {
                    this.clearIcon.style.display = "none";
                }
            },
            endChange () {
                // this.clearIcon.onclick = null
            },
            onSearch (val) {
                this.current = val;
                this.refreshData();
            },

            refreshData () {
                this.$nextTick(() => {
                    this.$refs['warningList'].refreshData(this.searchText);
                });
            },

            onClear () {
                this.searchText = ''
                this.refreshData();
                this.clearIcon.style.display = "none";
            },
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子疯攒,更是在濱河造成了極大的恐慌枚尼,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件袭蝗,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)晋辆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門霸饲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事精钮。” “怎么了臂容?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵球散,是天一觀的道長。 經(jīng)常有香客問我冰寻,道長乐疆,這世上最難降的妖魔是什么琴庵? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮止邮,結(jié)果婚禮上埃唯,老公的妹妹穿的比我還像新娘模蜡。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布收叶。 她就那樣靜靜地躺著隅茎,像睡著了一般堂竟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天郎仆,我揣著相機(jī)與錄音曙旭,去河邊找鬼沼头。 笑死猾昆,一個胖子當(dāng)著我的面吹牛贴见,可吹牛的內(nèi)容都是我干的档悠。 我是一名探鬼主播奴烙,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼郁妈!你這毒婦竟也來了胃碾?” 一聲冷哼從身側(cè)響起吁讨,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤艰亮,失蹤者是張志新(化名)和其女友劉穎侄非,沒想到半個月后叠赦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體泳姐,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了低散。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片熔号。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡弟头,死狀恐怖伦连,靈堂內(nèi)的尸體忽然破棺而出汛聚,到底是詐尸還是另有隱情,我是刑警寧澤乾闰,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布盈滴,位于F島的核電站涯肩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏巢钓。R本人自食惡果不足惜病苗,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望症汹。 院中可真熱鬧硫朦,春花似錦、人聲如沸背镇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芽世。三九已至挚赊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間济瓢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工妹卿, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留旺矾,地道東北人。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓夺克,卻偏偏與公主長得像箕宙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子铺纽,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容