angular - 通过组件属性为您的 css 类添加动态命名空间对性能/加载是否不利?

标签 angular typescript namespaces

想象一下:

export class MyComponent {

  namespace: string;

  constructor(private globals: Globals) {
    this.namespace = globals.namespace;
  } 
}

然后像这样的模板:

<div class="{{namespace}}-wrapper">
  <h1 class="{{namespace}}-title"></h1>
  <h2 class="{{namespace}}-subtitle"></h2>
</div>

这使您可以完全控制您的样式,因为没有第 3 方样式(或者非常少,因为没有多少具有相同的命名空间和后缀)会干扰您自己的样式,但是性能呢?假设我平均每个模板有 20 个这样的绑定(bind),这是否会以某种方式影响性能,让您考虑不使用这种方法?

从技术上讲,它不应该影响性能,因为它只是一次性绑定(bind),但这样做可能会增加加载时间?我还没有找到任何可靠的方法来测试这个,所以我不能确定。

我知道 View 封装,但我希望有一种方法可以让我关闭它并仍然确保不会破坏任何东西。

是否有更好的方法来实现这一点,或者这是一个非常好的方法?

最佳答案

Angular2 中没有一次性绑定(bind)。每次运行更改检测时,都会检查此类绑定(bind)中使用的属性是否有更改。

Angular2 变化检测非常有效,可以使用 ChangeDetectionStrategy.OnPush 进一步优化。

如果每个模板有大约 20 个绑定(bind),这对于整个应用程序来说可能是一个相当大的总数,我预计这会损害性能。

我看不出这会影响加载时间的原因。

关于angular - 通过组件属性为您的 css 类添加动态命名空间对性能/加载是否不利?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40081955/

相关文章:

angular - 使用 Angular Flex-Layout 是一个好习惯吗?

javascript - 如何删除在 TypeScript 中使用 "this"的事件监听器?

c++ - 命名空间中特定符号的别名?

php - Adwords API ReportDefinitionService : ReportDefinition not found

angular - http 到 https 重定向在使用 htaccess 的 Angular 6 中不起作用

angular - 获取 Jenkins BUILD_NUMBER 变量并将其显示在 Angular 应用程序中

flot - 接口(interface)中属性的多种类型

Angular Material 对话框和 ngrx

c# - 如何在 Vuforia 中使用 Unity 脚本

angular - 指令单击外 Angular 6