如何在Angular的另一个类中更改变量的值

时间:2018-11-27 04:07:32

标签: angular ionic-framework ionic3

我有两个班级A和B

A级

export class A{
   static id: number = 0;

   constructor() {
      A.id = A.id;
   }
}

B级

import{A} from '../A';
export class B {
   constructor() {}
   changeId(id:number){
     A.id = id;
   }
}

我的问题是,当触发类B中的id函数时,我想更改类A中的changeId()的值。我不希望该值保持为0,因为我想在应用程序的其他部分中使用id并且该值必须是动态的。请怎么可能呢?

NB 我正在将其用于Ionic 3应用

2 个答案:

答案 0 :(得分:0)

import { Events } from 'ionic-angular';

export class A{
   static id: number = 0;

   constructor(public events: Events) {
      events.subscribe("idChange", (id) => {
         A.id = id; //id is a static variable 
      }); 
   }
}


import { Events } from 'ionic-angular';

export class B {
   constructor(public events: Events) {}
   changeId(id:number){
      this.events.publish("idChange", id);
   }
}

答案 1 :(得分:0)

您当前的代码已经更改了A中的id的值,因为它是静态的。

let b = new B();
b.changeId(3);
console.log(A.id); //prints 3
b.changeId(6);
console.log(A.id); //prints 6