如何使用Ionic Cloud与Ionic 2,Angular 2

时间:2016-09-27 23:06:16

标签: angular ionic-framework ionic2

文档非常不清楚。我想知道我应该把代码放在哪里:

 this.deploy.check().then((snapshotAvailable: boolean) => {
    this.deploy.download().then(() => {
        return this.deploy.extract().then( () => {
         this.deploy.load();
         console.log('Extract Succesful');
     };
  });
 });

所以我想要像Ionic 1上的旧行为一样。我可以将代码放在app.ts中并监视所有内容(所有页面和所有提供程序)并检测是否有任何更改并在客户端设备上执行自动更新。但是医生说我需要在EACH PAGE中从'@ ionic / cloud-angular'注入import {Deploy}?这真让我困惑。我怎样才能将1个代码放在一个地方并监视所有内容。有点设置它并忘记它像Ionic 1 ...

的解决方案

请帮忙!

3 个答案:

答案 0 :(得分:0)

如果您想在整个应用中使用某些内容,通常会将其添加到app.ts文件构造函数中。

查看ionic-cloud-angular库,它有一个关于如何在onchange文件中使用它的代码示例

答案 1 :(得分:0)

http://tphangout.com/ionic-2-push-notifications/

浏览此视频教程。它对初学者有好处

此链接http://docs.ionic.io/

中将提供完整的文档

答案 2 :(得分:0)

您需要在

之后在app.component.ts中添加代码
platform.ready().then(() => {
  ...
  this.watchDeploy();
}

比你可以添加功能:

watchDeploy(){
// check for update once then with a delay
  this.checkNewVersion().then(()=> {
  setTimeout(()=>this.watchDeploy(), 20 * 1000);
})

checkNewVersion():Promise<any> {
 return new Promise<any>((resolve, reject)=> {
  return this.deploy.check().then((snapshotAvailable: boolean) => {
   if (snapshotAvailable) {
    return this.deploy.download().then(() => {
      return this.deploy.extract().then( () => {
       this.deploy.load();
       console.log('Extract Succesful');
       resolve();
      };
    });
   } else {
       resolve();
   }
  })
 })
}

您只需在您使用它的页面中注入“@ ionic / cloud-angular”中的“import {Deploy}”。这里它只在app.component.ts中。 最佳实践是为此创建一项新服务。