锁定Ionic3 / Angular2中的变量

时间:2017-11-03 18:58:32

标签: angular typescript ionic-framework

我有一个对象,我在离子3中的提供者类上更改。此对象可从其他方法/页面/组件访问。有没有办法在这个对象上设置锁定,所以当我在一个方法中更改它时,它不会从其他区域更改。

1 个答案:

答案 0 :(得分:0)

您可能想要阅读Typescript readonly属性。 readonly属性只能在初始化期间或由构造函数设置。有关更多信息,请查看此链接:

https://blog.mariusschulz.com/2016/10/31/typescript-2-0-read-only-properties

针对以下评论进行了更新:

要创建锁,为什么不使用简单的布尔值?如果您可以从多个位置访问您的属性,那么您还可以从多个位置访问该布尔值。所以你可以这样做,例如:

my_property: any;
can_set = false;

first_method() {
  if(this.can_set) {
    this.can_set = false;  
    // some code
    my_property = something;
  }
  this.can_set = true;
}

second_method() {
  if(this.can_set) {
    this.can_set = false;  
    // some code
    my_property = something;
  }
  this.can_set = true;
}

如果集合在回调中发生,则解锁该回调中的布尔值。