我正在研究Angularjs的FEQ,我在下面的文章中看过:
$ rootScope存在,但它可以用于邪恶
Angular中的作用域形成一个层次结构,原型继承自树顶部的根作用域.通常这可以忽略,因为大多数视图都有自己的控制器,因此也有范围.
有时,您希望为整个应用程序提供全局数据.对于这些,您可以
$rootScope像任何其他范围一样在其上注入和设置值.由于范围继承自根范围,因此这些值可用于附加到指令的表达式,就像ng-show本地的值一样$scope.当然,全球国家很糟糕,你应该
$rootScope谨慎使用,就像你希望用任何语言的全局变量一样.特别是,不要将它用于代码,只用于数据.如果您想要开启一个功能$rootScope,那么将它放在一个可以在需要的地方注入并且更容易测试的服务几乎总是更好.相反,不要创建一个服务,其唯一目的是存储和返回数据位.
所以我怀疑为什么$ rootScope不建议用作全局函数?有任何性能问题吗?
class Animal {
private name:string;
public Firstname:string;
constructor(theName: string)
{
this.name = theName;
this.Firstname=theName;
}
}
class Tiger {
function sample(){
Animal animalName=new Animal('Tiger');
document.body.innerHTML = animalName.name;
}
sample();
}
Run Code Online (Sandbox Code Playgroud)
你是动物类中这个typeScript的新手我已经创建了一个私有变量名,我在类构造函数中使用它.在类Tiger中我创建了Animal类的实例,并且能够访问该私有变量.
我的问题是在java中,如果我们这样做,我们将得到错误.但是在typeScript中(因为typescript支持oops)我们没有得到任何错误而且它给出了值如何可能?