亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

在鼠標懸停/鼠標移出時更新布爾值

在鼠標懸停/鼠標移出時更新布爾值

牛魔王的故事 2022-12-09 19:09:05
我正在嘗試在 mouseover/mouseout 時更新布爾值(它應該動態更改),以便稍后在 if else 語句中使用它并根據 true/false 分配一些函數。但它只顯示false而且從不顯示true。有人可以幫我嗎?TS:    mouseEv: boolean;    mouseOut(e) {        this.mouseEv = false;    }    mouseOver(e) {        this.mouseEv = true;    }     ngOnInit(): void {         if(this.mouseEv == false){ func(); }        else if(this.mouseEv == true) { otherFunc();};    }HTML:<div (mouseover)=" mouseOver($event)" (mouseout)="mouseOut($event)"></div>編輯:我需要動態更改布爾值,因為我會將它與其中具有函數的對象一起使用,而我不能從另一個函數調用它們。
查看完整描述

3 回答

?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

創建一個函數,例如 MouseHandlerEv,您可以在其中接收布爾值:


.HTML文件


<div (mouseover)="mouseEvHandler(true)" (mouseout)="mouseEvHandler(false)"></div>

.TS文件


mouseEvHandler(status){

   status ? FunctionTrue() : FunctionFalse();

}

例子:


function mouseEvHandler(status){

   status ? sayHi() : sayBye();

}


function sayHi() {

  console.log('HI');

}


function sayBye() {

  console.log('Bye');

}

 <div onmouseover="mouseEvHandler(true)" onmouseout="mouseEvHandler(false)">MESSAGE ON CONSOLE</div>

將其外推到角度



查看完整回答
反對 回復 2022-12-09
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

ngOnInit()目前,由于您正在檢查鉤子中的值,因此僅在組件開始時檢查一次值。您可以改為嘗試使用 RxJS 使其響應fromEvent并使用它來觸發事件。


嘗試以下


模板


<div #mouseControl></div>

import { Component, ViewChild, ElementRef, AfterViewInit } from '@angular/core';


@Component({ ... })

export class AppComponent implements AfterViewInit {

  @ViewChild('mouseControl') mouseControl: ElementRef<any>;


  ngAfterViewInit() {

    fromEvent(this.mouseControl.nativeElement, 'mouseover').subscribe(

      _ => otherFunc();

    );


    fromEvent(this.mouseControl.nativeElement, 'mouseout').subscribe(

      _ => func();

    );

  }

}


查看完整回答
反對 回復 2022-12-09
?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

您可以像下面這樣簡單地使用它而無需為事件創建函數:

<div (mouseover)="mouseEv=true" (mouseout)="mouseEv=false"></div>

您還可以嘗試將 true 和 false 作為方法參數直接傳遞給 mouseOver(true) 并在組件中接收其值。


查看完整回答
反對 回復 2022-12-09
  • 3 回答
  • 0 關注
  • 101 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號