2016-09-27 49 views
1

该文档非常不清楚。我想知道我应该把代码:如何使用Ionic Cloud与Ionic 2,Angular 2

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

所以我想就像对离子1.旧的行为,我可以把在app.ts的代码,并将其手表应有尽有(所有网页和所有的提供商)并检测是否有更改并在客户端设备上进行自动更新。但文档说,我需要在每个页面中从'@ ionic/cloud-angular'注入import {Deploy}?这真让我困惑。我怎样才能在1个地方放置1个代码并观察一切。阿kinda设置它,忘了它像Ionic 1的解决方案...

请帮忙!

回答

0

如果您想在应用程序中使用某些东西,通常会将其添加到app.ts文件构造函数中。

看看在ionic-cloud-angular图书馆,但对如何使用它里面app.ts文件

+0

谢谢。但我没有找到任何部署的例子.... –

0

你需要后

platform.ready().then(() => { 
    ... 
    this.watchDeploy(); 
} 

添加在app.component.ts代码比你可以添加函数:

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中。最佳做法是为此创建一项新服务。