【问题标题】:Watch changes in ionic 3观察 ionic 3 的变化
【发布时间】:2018-12-12 17:25:13
【问题描述】:

我有下面的代码,我还没有设法更新stepsCount的变化,我需要每次startPedometerUpdates(),发送变化能够瞬间显示出来。在变量stepCount中。

我要找的基本上是能够创建一个手表来检测this.stepsCountthis.pedometer.startPedometerUpdates().的变化

知道怎么做吗? 非常感谢

import { Component } from '@angular/core';
import { Platform, NavController } from 'ionic-angular';

//Pedometer
import { Pedometer, IPedometerData } from '@ionic-native/pedometer';


@Component({
  selector: 'page-actv-home',
  templateUrl: 'actv-home.html',
})
export class ActvHomePage {

  stepsCount: any = 0;

  constructor(
    public navCtrl: NavController,
    public pedometer: Pedometer,
    public plt: Platform
  ) {
    this.pedometer.startPedometerUpdates()
      .subscribe((data: IPedometerData) => {
        this.stepsCount = data.numberOfSteps;
      });
  }

}

HTML

<ion-content>
    <p>{{ stepsCount }}</p>
</ion-content>

控制台日志 data

【问题讨论】:

  • 能否也添加模板(html)代码。
  • @AnuradhaGunasekara 准备好了。
  • 输出是什么?能否在subscribe 方法中添加console.log(data) 并将输出添加到问题中?
  • @AnuradhaGunasekara 准备好了
  • 输出为numberOfSteps

标签: angular typescript ionic2 ionic3


【解决方案1】:

我有解决办法。 ChangeDetectorRef,谢谢。 @AJT_82

import { Component , ChangeDetectorRef} from '@angular/core';
import { Platform, NavController } from 'ionic-angular';

//Pedometer
import { Pedometer, IPedometerData } from '@ionic-native/pedometer';


@Component({
  selector: 'page-actv-home',
  templateUrl: 'actv-home.html',
})
export class ActvHomePage {

  stepsCount: any = 0;

  constructor(
    public navCtrl: NavController,
    public pedometer: Pedometer,
    public refdect:ChangeDetectorRef,
    public plt: Platform
  ) {

    // STEPS COUNT DEMO
    if (this.plt.is('cordova')) {
        this.watchSteps();
    }
  }


  watchSteps(){
    this.pedometer.startPedometerUpdates()
        .subscribe((data: IPedometerData) => {
          this.stepsCount = data.numberOfSteps;
          if(this.stepsCount == 10){
            alert('Yes! Your have completed 100 steps');
          }
          this.refdect.detectChanges();
    });
  }

}

【讨论】:

  • 仍然不适合您?我正在尝试使用您的解决方案,但是当我使用 android 进行测试时,计步器没有响应。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-05
  • 2010-11-09
  • 2018-02-26
  • 2015-09-13
  • 1970-01-01
  • 2020-07-29
  • 2021-08-30
相关资源
最近更新 更多