Увеличение анимации не срабатывает - PullRequest
2 голосов
/ 25 января 2020

Я пытаюсь увеличить круг, когда переменная увеличивается.

Но анимация никогда не сработает
Я продолжаю таким образом:

animations: [
    trigger('popAnimation', [
      state('closed', style({ transform: 'translateX(100%)' })),
      state('open', style({ transform: 'translateX(0%)' })),
      transition('* => *', animate(300)),
    ]),
    trigger('counterChange', [
      state(':increment', style({ transform: 'scale(1.8)' })),
      transition('* => *', animate(300)),
    ])
  ],

Для приращения переменной

bag.products.reduce((prev, product) => this.numberOfProducts = prev + product.quantities, 0);

И в HTML Я использую таким образом:

    <div class="row">
      <div class="col-12 d-flex align-items-md-center justify-content-center">
        <div class="circle"
             [@counterChange]="numberOfProducts">
          {{numberOfProducts}}
        </div>
      </div>
    </div>

Я не могу понять ошибку.

ОБНОВЛЕНИЕ:


Проблема была решена, Я меняю подход. Анимация не запускалась с приращением, поэтому при запуске reduce я установил переменную для state анимации, а в setTimeout установил другое состояние.

trigger('counterChange', [
      transition(`${AnimationShoppingBag.Clicked} => *`,
        (
          animate(400, keyframes([
            style({ transform: 'scale(1.8)' }),
            style({ transform: 'rotate(45deg)' }),
            style({ transform: 'rotate(-45deg)' })
          ]))
        )),
    ])
this.animationShoppingBag = AnimationShoppingBag.Clicked;
      setTimeout(() => {
        this.animationShoppingBag = AnimationShoppingBag.End;
        bag.products.reduce((prev, product) => this.numberOfProducts = prev + product.quantities, 0);
      }, 600);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...