使用Injecting Deploy进行离子部署

时间:2017-08-24 02:18:55

标签: angular typescript ionic3

我从未使用过Ionic Deploy service。我现在想用它。我在这里有一个问题。希望你帮助我。

根据上述文件,我必须这样做:

  

从Cloud Client导入部署并将其指定为依赖关系   你的组件构造函数。

import {Component} from '@angular/core';
import {Deploy} from '@ionic/cloud-angular';

@Component( ... )
export class MyPage {
  constructor(public deploy: Deploy) {
    ...
  }
}

我是否需要针对每个page或其他地方?根据官方文档,似乎是Page。我不能在app.componet.ts这样的单个地方使用吗?为什么我们需要在每个page上复制它?

1 个答案:

答案 0 :(得分:1)

在我的应用程序中,我在应用程序启动时做到了,所以在app.component.ts我做了注射,然后在平台上准备好检查是否有新的更新。

    import { Component } from '@angular/core';
import { Platform, LoadingController } from 'ionic-angular';
import { Deploy } from '@ionic/cloud-angular';

@Component({
  templateUrl: 'app.html'
})
export class MyApp {
  rootPage = TabsPage;
  constructor(private platform: Platform,
    public deploy: Deploy) {
    platform.ready().then(() => {
      this.checkUpdate();

    });
  }

  checkUpdate() {
    this.deploy
      .check()
      .then((snapshotAvailable: boolean) => {
        if (snapshotAvailable) {
          this.deploy.download().then(() => {
            return this.deploy.extract()
              .then(() => {
                this.deploy.load();
              });
          });
        }
      });
  }
}

您也可以在页面中执行此操作,例如您可以添加有关应用页面的信息,每次用户点击此页面时都会检查新版本