簡體   English   中英

如何在Angular Material動畫之后執行代碼

[英]How to execute code after Angular Material animations

我在網站上使用Angular Material 作為響應框架,它可以處理不同窗口大小的渲染。 更改窗口大小時,它會添加一些布局更改的動畫並控制移動

示例: https : //material.angularjs.org/latest/demo/gridList (打開鏈接並調整窗口大小)

在此處輸入圖片說明

我在示例中顯示的圖塊上有一些WebGL畫布,動畫完成后(容器具有最終尺寸)需要重新繪制。

如何獲得callbackpromise UI動畫完整?

解決此問題的方法是將屬性md-on-layoutmd-grid-listdocs )。

例:

HTML

<md-grid-list md-on-layout="update($event)" ...>
  <md-grid-tile>...</md-grid-tile>
</md-grid-list>

控制器

$scope.update = function($event){
    console.log("Updating layout."); 
}

您可以使用在md-grid-list指令中指定的屬性md-on-layout來傳遞表達式函數 布局更改后,將執行此操作。

指令使用

<md-grid-list md-cols-xs="1" 
  md-cols-sm="2" md-cols-md="4" md-cols-gt-md="6" 
  md-row-height-gt-md="1:1" md-row-height="2:2" 
  md-gutter="12px" md-gutter-gt-sm="8px" 
  md-on-layout="afterLayout()">
    <md-grid-tile class="gray" md-rowspan="3" md-colspan="2" md-colspan-sm="1" md-colspan-xs="1">
    <md-grid-tile-footer>
      <h3>#1: (3r x 2c)</h3>
    </md-grid-tile-footer>
  </md-grid-tile>

</md-grid-list>

控制者

$scope.afterLayout = function () {
  console.log("Layout complete");
}

我已經創建了一個代碼筆,該代碼筆的實現會進行console.log的布局更改: http ://codepen.io/anon/pen/ZWwmNw

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM