将字符串设置为全局变量

时间:2017-02-07 07:28:24

标签: angular ionic2

我正在尝试从提示警报输入框中获取值并将输入值发送到另一个函数,我可以打开提示,并且点击按钮可以在点击时将值导入输入字段"登录&# 34;按钮我可以在我的控制台上查看,

我需要声明一个全局变量,并在需要在此页面中使用它时访问它

import { Component } from '@angular/core';
import { NavController, NavParams, AlertController } from 'ionic-angular';
import { HomePage } from '../home/home';



@Component({
    selector: 'page-login',
    templateUrl: 'login.html'
})

export class LoginPage {

    FileName: Array<Object>;

    constructor(public navCtrl: NavController,
                public alertCtrl: AlertController,
                public navParams: NavParams,
                ) { }

presentPrompt() {
        let alert = this.alertCtrl.create({
            title: 'Login',
                inputs: [
                    {
                        name: 'FileName',
                        placeholder: 'Rename Your Audio File'
                    }
                ],
            buttons: [
                {
                    text: 'Cancel',
                    role: 'cancel',
                    handler: data => {
                        console.log('Cancel clicked');
                    }
                },
                {
                    text: 'Login',
                    handler: data => {
                        console.log("login clicked");
                       this.FileName = data.FileName + '.mp3';

                    }
                }
            ]
        });
            alert.present();
    }

    getValue(){
         console.log("trying to get value", this.FileName);       
       // value from prompt must be send to the above console
    }

我需要的是&#34; FileName&#34;输入字段内的值应该在&#34; getvalue&#34;点击。可能有人帮助我

1 个答案:

答案 0 :(得分:1)

每当您需要某些全局可用内容时,您必须将其放入Service

在您的情况下,创建一个服务,该服务将包含一个可以获取和设置的简单字符串属性。然后将该服务注入您的组件。服务的生命周期在您的角度应用程序运行的整个时间内持续存在,并且值可以被注入的每个组件(或其他服务)读取/写入。