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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

無(wú)法在超時(shí)內(nèi)設(shè)置 AngularJS 范圍變量

無(wú)法在超時(shí)內(nèi)設(shè)置 AngularJS 范圍變量

慕無(wú)忌1623718 2021-08-26 15:05:24
我有一個(gè)關(guān)于這個(gè)問(wèn)題的 jsfiddle。 https://jsfiddle.net/uvtw5kp1/4/$scope.Dropdown = {  open: false,  searchValue: "",  timer: null,  hideIt: function() {    this.timer = $timeout(function() {      alert("timeout happened the value will not change");      this.open = false;    }, 50);  },  hideItNotimer: function() {    this.open = false;  },  showIt: function() {    $timeout.cancel(this.timer);    this.open = true;  }};當(dāng)我在 ng-mouseout 上調(diào)用 Dropdown.hideItNotimer() 時(shí)它沒(méi)有問(wèn)題,但是當(dāng)我調(diào)用 Dropdown.hideIt() 時(shí),變量沒(méi)有設(shè)置。我添加了一個(gè)警報(bào)以確保計(jì)時(shí)器正常工作,并且我嘗試在之后執(zhí)行 scope.apply。有效的是在計(jì)時(shí)器內(nèi)調(diào)用范圍級(jí)別的函數(shù):像這樣: $scope.setDropdownHidden = function(){   $scope.Dropdown.open = false; }并在它工作的超時(shí)內(nèi)調(diào)用它,但如果可以的話(huà),我想避免這種情況。我錯(cuò)過(guò)了什么?
查看完整描述

2 回答

?
白衣染霜花

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊

Timeout 有它自己的作用域,因?yàn)樗且粋€(gè)閉包,所以 $scope.open = false 不會(huì)更新你的控制器 $scope.open 變量,你應(yīng)該避免使用 timeout for 來(lái)更新作用域變量。您應(yīng)該使用 bind as 綁定全局范圍 -


hideIt: function() {

  this.timer = $timeout(function() {

        this.open = false;

      }.bind(this), 50);

}


查看完整回答
反對(duì) 回復(fù) 2021-08-26
?
神不在的星期二

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊

在您的超時(shí)函數(shù)中,this不引用 Dropdown 對(duì)象,而是可能引用該window對(duì)象。在 javascript 中,this總是指調(diào)用函數(shù)的對(duì)象,而不是定義它的對(duì)象。當(dāng) $timeout 調(diào)用您的回調(diào)函數(shù)時(shí),它會(huì)使用 Dropdown 對(duì)象以外的其他對(duì)象,因?yàn)樗恢涝搶?duì)象。

您需要this將父函數(shù)中的值捕獲為閉包變量,或者使用angular.bind將回調(diào)函數(shù)綁定到 Dropdown 對(duì)象


查看完整回答
反對(duì) 回復(fù) 2021-08-26
  • 2 回答
  • 0 關(guān)注
  • 211 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號(hào)

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