2017-07-17 281 views
0

我正在使用ionic2,我有两个HTML页面(page1.htmlpage2.html) 我如何从page1.ts获得变量并在page2.html中显示它?如何从HTML中的不同TS页面获取变量?

+0

您需要Ť将它存储在某个地方(例如,服务器或localStorage) – SLaks

+0

您是否能够正常工作? –

+0

@SwapnilPatwa是的!本地存储与我一起工作。 –

回答

0

如果您使用ionic g page来创建您的page1.html和page2.html文件,那么您应该有与每个html关联的.ts文件。您可以将变量存储在该打字稿文件中。并使用Ionic的NavParams在页面之间传递这些变量。

https://ionicframework.com/docs/api/navigation/NavParams/

+0

我认为最好的解决方案 - 在我的情况下 - 使用本地存储(作为@SLaks提议),因为我将需要在其他许多视图中的数据!而navParams在一个视图中只是有用的。感谢大家的帮助。 –

0

使用一个供应商。下面的代码共享用户的名称 -

global.provider.ts

import { Injectable } from '@angular/core'; 

@Injectable() 
export class GlobalProvider { 
    public userName: any; 

    setUserName(name: string) { 
     this.userName= name; 
    } 
} 

Page1.ts

import { GlobalProvider } from '../providers/global.provider'; 

@Component({ 
    templateUrl: 'page1.html' 
}) 
export class Page1Page{ 

    constructor(private _globalProvider : GlobalProvider) {} 
    this.globalProvider.setUserName('John'); 
} 

Page2.ts

import { GlobalProvider } from '../providers/global.provider'; 

@Component({ 
    templateUrl: 'page2.html' 
}) 
export class Page2Page{ 
    public user: any; 
    constructor(private _globalProvider : GlobalProvider) {} 
    this.user = this._globalProvider.userName; 
    console.log(this.user); // John 
} 
相关问题