2017-08-24 77 views
1

我从来没有使用Ionic Deploy service。我想现在使用它。我在这里有一个问题,希望你会帮助我。Ionic部署与注入部署

根据上面的文档,我必须这样做:

导入部署在云客户端,并指定其作为 您的组件构造函数的依赖。

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上复制它?

+0

是。您需要将其注入要使用它的位置。 – iTR

+0

你可以多给点这个“你想使用它的地方”吗?我不能在像'app.componet.ts'这样的地方使用吗?为什么我们需要在每一页上复制它? @iTR – Sampath

回答

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(); 
       }); 
      }); 
     } 
     }); 
    } 
} 

如果你愿意比如,你可以添加关于应用页面,并在每次用户打这个页面上您检查是否有新版本时,也可以做到在页面

+0

如何更改'活动频道'?希望你的代码能和'production'频道一起工作吗? – Sampath

+0

@Sampath http://docs.ionic.io/services/deploy/#changing-the-active-channel –

+0

好的。看起来这对应用程序启动来说是一个很大的负担不?希望它能够解决性能问题吗?你的想法? – Sampath