Size: a a a

Ionic - русскоговорящее сообщество

2018 February 06

AS

Anatoly Shirokov in Ionic - русскоговорящее сообщество
ну вот сюда и помещай
источник

AS

Anatoly Shirokov in Ionic - русскоговорящее сообщество
#scroll во, нашел, сейчас они по другому предлагают: https://ionicframework.com/docs/api/components/content/Content/#output-events
источник

AS

Anatoly Shirokov in Ionic - русскоговорящее сообщество
import { Component, NgZone } from '@angular/core';
@Component({
 template: `
   <ion-header>
     <ion-navbar>
       <ion-title></ion-title>
     </ion-navbar>
   </ion-header>
   <ion-content (ionScroll)="scrollHandler($event)">
      <p> Some realllllllly long content </p>
   </ion-content>
`})
class E2EPage {
public scrollAmount = 0;
constructor( public zone: NgZone){}
scrollHandler(event) {
  console.log(`ScrollEvent: ${event}`)
  this.zone.run(()=>{
    // since scrollAmount is data-binded,
    // the update needs to happen in zone
    this.scrollAmount++
  })
}
}
источник

AS

Anatoly Shirokov in Ionic - русскоговорящее сообщество
zone необходимы для мест, которые не подпадают под контроль ангуляра (ангуляр не перехватил это и не может определить, что данные изменились), а состояние привязанных к интерфейсу данных изменилось.
источник

AS

Anatoly Shirokov in Ionic - русскоговорящее сообщество
this.zone.run(()=>{
    // since scrollAmount is data-binded,
    // the update needs to happen in zone
    this.scrollAmount++
  })

это наш хинт
источник

R

Roma in Ionic - русскоговорящее сообщество
`this.zone.runOutsideAngular(()=>{
    // since scrollAmount is data-binded,
    // the update needs to happen in zone
    this.draw();
  })
`
Или так
источник

R

Roma in Ionic - русскоговорящее сообщество
когда наоборот надо что-то выполнить за пределами ангуляра
источник

R

Roma in Ionic - русскоговорящее сообщество
например requestAnimationFrame
источник

R

Roma in Ionic - русскоговорящее сообщество
чтобы не дергать ангуляр 60 раз за секунду
источник

R

Roma in Ionic - русскоговорящее сообщество
как вставлять код тут лушче?
источник

R

Roma in Ionic - русскоговорящее сообщество
или вот еще живой пример из моего аппа
this.ngZone.runOutsideAngular(() => {
     this.content.ionScroll.subscribe(() => this.setMainMenuSelection());
   });
Чтобы не грузить ангуляр перепроверками, а скрол ивенты надо мне было отслеживать
источник

R

Roma in Ionic - русскоговорящее сообщество
или токой. евенты канваса
источник

R

Roma in Ionic - русскоговорящее сообщество
источник

N

Nomad in Ionic - русскоговорящее сообщество
источник

N

Nomad in Ionic - русскоговорящее сообщество
источник

N

Nomad in Ionic - русскоговорящее сообщество
Большое вам спасибо
источник

N

Nomad in Ionic - русскоговорящее сообщество
Так держать)
источник

N

Nomad in Ionic - русскоговорящее сообщество
С вами жить легче)
источник

N

Nomad in Ionic - русскоговорящее сообщество
На данный момент 😂
источник

R

Roma in Ionic - русскоговорящее сообщество
источник