在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ Ionic3 ngClass綁定樣式需要點(diǎn)擊才能觸發(fā)嗎?

Ionic3 ngClass綁定樣式需要點(diǎn)擊才能觸發(fā)嗎?

原本打算在Ionic3的<ion-content>中使用ionScroll事件改變<ion-header>的樣式,但是事件出發(fā)了樣式卻沒變。但是如果我在header上添加一個按鈕,點(diǎn)擊一下按鈕樣式就變了。

相關(guān)代碼

HTML

<ion-header [ngClass]="{'transparent-header': transparentHeader}">
  <ion-navbar color="light">
    <ion-title></ion-title>
    <ion-buttons end>
      <button icon-button (click)="goToEdit()">編輯</button>
    </ion-buttons>
  </ion-navbar>
</ion-header>
<ion-content (ionScroll)="scrollEvent($event)"></ion-content>

TypeScript

transparentHeader: boolean = true;

scrollEvent(ionContent) {
  let opacity = 1 - (150 - ionContent.scrollTop) / 150;
  this.transparentHeader =  opacity >= 1 ? false : true;
}

goToEdit() {
  console.log('Go to edit.')
}

原本期望頁面向下滑動一定距離,header的transparent-header樣式就會自動移除,但現(xiàn)在必須要向下滑動以后,點(diǎn)一下編輯按鈕才能移除,而編輯按鈕里面只有一句控制臺輸出的語句。

圖片

沒有向下滑動的效果如下圖:

clipboard.png

向下滑動但是樣式?jīng)]有改變的效果如下圖:

clipboard.png

點(diǎn)擊按鈕以后的效果如下圖:

clipboard.png

回答
編輯回答
互擼娃

剛剛看官方文檔,找到了解決辦法。

Scroll events happen outside of Angular's Zones. This is for performance reasons. So if you're trying to bind a value to any scroll event, it will need to be wrapped in a zone.run()
2017年4月14日 02:24