Angular 2读取本机存储的最佳位置
我使用的是图标2/angular 2和NativeStorage插件 我有一个允许用户更改的服务器URL,它应该被持久化。我对angular非常陌生,因此不确定在什么地方打电话到NativeStorage.getItem是最好的 显然,当用户启动应用程序时,它应该是第一个地方,所有内容都已初始化 我当前在加载屏幕上挂起应用程序的代码:Angular 2读取本机存储的最佳位置,angular,Angular,我使用的是图标2/angular 2和NativeStorage插件 我有一个允许用户更改的服务器URL,它应该被持久化。我对angular非常陌生,因此不确定在什么地方打电话到NativeStorage.getItem是最好的 显然,当用户启动应用程序时,它应该是第一个地方,所有内容都已初始化 我当前在加载屏幕上挂起应用程序的代码: import { Component } from '@angular/core'; import { Platform } from 'ionic-angula
import { Component } from '@angular/core';
import { Platform } from 'ionic-angular';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { NativeStorage } from 'ionic-native';
import { HomePage } from '../pages/home/home';
@Component({
templateUrl: 'app.html'
})
export class MyApp {
rootPage:any = HomePage;
constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen, storage: NativeStorage) {
platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
statusBar.styleDefault();
splashScreen.hide();
platform.ready().then(() => {
NativeStorage.getItem('CHAT_SERVER_HOST').then(
(val) => { alert("init:" + val); },
error => alert(error)
);
});
});
}
}
您应该在组件中运行它。在
this.platform.ready()的内部,然后(()=>{})
,放入本机存储代码。这可以确保cordova在您拨打电话时可以处理本机插件
如果希望立即加载本机存储数据,请在
构造函数
函数、ngOnInit或ionViewDidLoad中编写此代码。我们从app.module.ts和config开始
@NgModule({
declarations: [
MyApp
],
imports: [
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
],
providers: []
})
export class AppModule {}
myapp.component.ts
export class MyApp {
constructor(platform: Platform, storage: Storage) {
storage.get('your_item').then((val) => {
console.log(val);
this.platformReady();
});
platformReady() {
// Call any initial plugins when ready
this.platform.ready().then(() => {
this.splashScreen.hide();
});
}
}
我还不清楚我应该把它写在什么地方@Vik@Vik我更新了我的代码,我想我们可以先获取数据,然后检查平台/插件