Angular 性能:组件公开了具有 500 多个(子)成员的 public 对象
Angular performance: component exposes public object with 500+ (sub-) members
我正在使用 angular 4 和 Typescript。
我有一个静态 class,其中有很多 public static/constant 字符串成员,它们的值永远不会改变。这个 class 在我的许多组件上公开,以便从模板访问成员:
静态class:
export class Foo {
public static foo1: string = "foo 1";
// ...
public static foo1000: string = "foo 1000";
}
示例组件:
export class FooComponent {
public foo: Foo = Foo;
}
组件模板中的示例用法:
<div>{{foo.foo123}}</div>
<div>{{foo.foo321}}</div>
问题是:
- 这个关于性能/变化检测的设计好吗?
- 有没有办法阻止 angular 检查(在更改检测期间)特定成员(因为它们无论如何都不会更改)?
- 或者换句话说:我可以在我的组件中公开一个包含许多(字符串)成员的 public member/object 而不会对性能产生负面影响吗?
顺便说一句:为了使问题简单,我故意不想详细说明是什么以及为什么。
此问题已在此期间得到回答。
简短回答:大对象没有问题,因为 angular 只检查模板中实际上 used/referenced 的字段。
我正在使用 angular 4 和 Typescript。
我有一个静态 class,其中有很多 public static/constant 字符串成员,它们的值永远不会改变。这个 class 在我的许多组件上公开,以便从模板访问成员:
静态class:
export class Foo {
public static foo1: string = "foo 1";
// ...
public static foo1000: string = "foo 1000";
}
示例组件:
export class FooComponent {
public foo: Foo = Foo;
}
组件模板中的示例用法:
<div>{{foo.foo123}}</div>
<div>{{foo.foo321}}</div>
问题是:
- 这个关于性能/变化检测的设计好吗?
- 有没有办法阻止 angular 检查(在更改检测期间)特定成员(因为它们无论如何都不会更改)?
- 或者换句话说:我可以在我的组件中公开一个包含许多(字符串)成员的 public member/object 而不会对性能产生负面影响吗?
顺便说一句:为了使问题简单,我故意不想详细说明是什么以及为什么。
此问题已在此期间得到回答
简短回答:大对象没有问题,因为 angular 只检查模板中实际上 used/referenced 的字段。