第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在函數(shù)內(nèi)維護“this”變量(typescript/jquery)

如何在函數(shù)內(nèi)維護“this”變量(typescript/jquery)

瀟湘沐 2022-07-08 16:13:28
我在我的 Angular 項目中使用 Jquery。我嘗試訪問this.selectedUrl的值,但是當它跳轉(zhuǎn)到 Jquery 就緒函數(shù)時,它給出了 UNDEFINED。怎么做?this.selectedUrl = this.router.url   console.log("this.selectedUrl",this.selectedUrl)  // gives value i.e /home   $(document).ready(function () {     console.log("this.selectedUrl",this.selectedUrl)  // gives undefiend     if(this.selectedUrl=="/home"){      console.log("this.selectedUrlIf",this.selectedUrl)     }  });
查看完整描述

2 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經(jīng)驗 獲得超6個贊

首先是 Angular 不需要 jquery 來處理任何功能。function不過,在這種情況下,您會因為使用關(guān)鍵字 with而變得不確定$(document)。里面 $(document).ready(function () this會得到一個全新的范圍,它不知道是什么selectedUrl。你可以探索arrow function



查看完整回答
反對 回復(fù) 2022-07-08
?
海綿寶寶撒

TA貢獻1809條經(jīng)驗 獲得超8個贊

thisready除非您綁定到函數(shù),否則函數(shù)內(nèi)部會采用完全不同的值this


例如:


this.selectedUrl = this.router.url

   console.log("this.selectedUrl",this.selectedUrl)  // gives value i.e /home

   $(document).ready(function () {

     console.log("this.selectedUrl",this.selectedUrl)  // this is now available

     if(this.selectedUrl=="/home"){

      console.log("this.selectedUrlIf",this.selectedUrl)

     }


  }.bind(this));

或使用從父作用域獲取的ES6 箭頭函數(shù)this


this.selectedUrl = this.router.url

   console.log("this.selectedUrl",this.selectedUrl)  // gives value i.e /home

   $(document).ready(()=>{

     console.log("this.selectedUrl",this.selectedUrl)  // this is now available

     if(this.selectedUrl=="/home"){

      console.log("this.selectedUrlIf",this.selectedUrl)

     }


  });

第三種選擇是存儲this到另一個變量并改為引用該變量。例如:


var that = this; // store to variable

this.selectedUrl = this.router.url

   console.log("this.selectedUrl",this.selectedUrl)  // gives value i.e /home

   $(document).ready(function () {

     console.log("this.selectedUrl",that.selectedUrl)  // this is now available via that variable

     if(that.selectedUrl=="/home"){

      console.log("this.selectedUrlIf",that.selectedUrl)

     }


  });

解釋: this是其余變量中的唯一變量(在面向?qū)ο缶幊讨校8鶕?jù)使用的函數(shù)范圍,它被重新分配給不同的值(具有相同的名稱this) 。因此,要繼續(xù)this引用另一個函數(shù)中的特定實例,您需要遵循上述方法之一。


查看完整回答
反對 回復(fù) 2022-07-08
  • 2 回答
  • 0 關(guān)注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號