Угловая производительность: компонент предоставляет общедоступный объект с более чем 500 (под) членами

Я использую angular 4 с Typescript.

У меня есть статический класс с множеством общедоступных статических/постоянных строковых членов, значения которых никогда не изменятся. Этот класс представлен во многих моих компонентах, чтобы иметь доступ к членам из шаблонов:

Статический класс:

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 (во время обнаружения изменений) определенных членов (поскольку они все равно не меняются)?
  • Или, другими словами: могу ли я выставить общедоступный член/объект со многими (строковыми) членами в моих компонентах, не оказывая негативного влияния на производительность?

Кстати: я намеренно не хочу вдаваться в подробности, что и почему, чтобы не усложнять вопрос.


person PzYon    schedule 18.07.2017    source источник


Ответы (1)


Тем временем на этот вопрос был дан ответ здесь.

Краткий ответ: с большими объектами проблем нет, так как angular проверяет только те поля, которые фактически используются/на которые ссылаются в шаблоне.

person PzYon    schedule 21.07.2017