2017-07-12 66 views
0

如何在angular2中創建全局對象。我正在從ionic2的navParams中收集一頁到另一頁的數據(可能爲4-5頁)。但要將其存儲在全局對象&中最後提交它。我曾嘗試過使用全球提供商,但沒有得到它的大部分&也沒有得到任何線索也。請提供任何建議。angular2中的全局對象

+1

請提供您到目前爲止嘗試過的代碼 – user93

+1

請注意,標籤'angularjs'用於角度1,'角度'用於版本2和更高版本。 – Igor

回答

1

與我的問題離子社區suggest使用全球供應商。我確實使用全球提供商來保存我的7步表單數據,並在最後一步完成最終提交。

我用離子3. 提供商代碼:

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


@Injectable() 
export class NcConnectionProvider { 
    public statecode:any; 
    public districtcode:any; 

    constructor() { 
    //console.log('Hello NcConnectionProvider Provider'); 
    } 

} 

Page.ts

import { Component } from '@angular/core'; 
import { IonicPage, NavController, NavParams } from 'ionic-angular'; 
import { NcConnectionProvider } from '../../providers/nc-connection/nc-connection'; 


@IonicPage() 
@Component({ 
    selector: 'page-nc-connection', 
    templateUrl: 'nc-connection.html', 
}) 
export class NcConnectionPage { 
    public distbform:FormGroup; 
    public statedata:any; 
    public districtdata:any; 

    constructor(public navCtrl: NavController, 
    public navParams: NavParams, 
    public ncdatashare: NcConnectionProvider) { 

    } 

    locateDistb(form: NgForm){ 
     this.ncdatashare.statecode = this.distbform.value.state; 
     this.ncdatashare.districtcode = this.distbform.value.district; 
     } 

} 

,只要你想,並訪問您的全局變量/對象,你可以注入提供商多個頁面。如示例值設置爲this.ncdatashare.statecode = this.distbform.value.state;現在您可以訪問this.ncdatashare.statecode到其他頁面,但提供程序必須在那裏注入。

0

確保提供一些示例代碼以更好地闡述問題。此外,以下是您可以按照單個對象收集數據的方式。

使用變量及其獲取器設置器創建服務。在組件中注入此服務,並在需要的地方設置數據,然後使用get方法再次收集數據。

@Injectable() 
    export class DataService{ 
     private _data: any; 

     get data() { 
     return this._data; 
     } 

     set data(data: any) { 
     this._data = data; 
     }  
    } 

和側面的組件

@Component({ 
     // configurations 
    }) 
    export class LoginComponent { 
    constructor(public dataService: DataService) { 
     this.dataService.data = { userAge: 37 } 
    } 
} 

,並在您需要提交該數據,只需使用的getter收集回來。

let finalData = this.dataService.data; 

不確定您的用例。但我希望它可以幫助你。