在 RxJs 和 Angular 中,我应该使用 "$" 符号后缀来命名 Subjects 吗?

14 浏览
0 Comments

在 RxJs 和 Angular 中,我应该使用 "$" 符号后缀来命名 Subjects 吗?

我有一个关于RxJs代码和具体的Angular中$符号后缀命名规范的问题。\n在Angular最佳实践文档和整体上,我发现在声明Observable时应该使用它,但在Subjects中没有看到使用它的情况。为什么?我以为它应该表示“异步”。此外,Subjects也是Observable。所以它们是异步的,并且你必须订阅它们。\n目前我也开始在Subjects中使用$。这种做法有什么真正的弊端吗?

0
0 Comments

在RxJs和Angular中,是否应该为Subjects使用"$"符号后缀的问题,出现的原因是为了方便识别和管理observable值。

根据Angular文档的说明,将"$"符号添加到属性名称中,有助于在代码中查找observable值。此外,如果希望一个属性存储observable的最新值,使用带或不带"$"的相同名称会很方便。

然而,"$"符号的后缀并不意味着observable是异步的,它只是作为一种软约定,用于指示变量是一个流。这更像是一种命名辅助,用于指示类型。

解决方法是根据个人或团队的偏好选择是否使用"$"符号后缀。如果觉得有助于区分和管理observable值,可以使用"$"符号后缀;如果不喜欢这种命名约定或觉得没有必要,也可以选择不使用。

总之,是否应该为Subjects使用"$"符号后缀是一个个人或团队的选择,根据对代码可读性和管理性的需求来决定。

0
0 Comments

在RxJs和Angular中,有人问是否应该在Subjects的主题中使用"$"符号后缀。这个问题的出现是因为在命名约定中,"$"后缀被用来表示一个变量是可观察的。它有助于区分普通变量和可观察变量。这只是一种实践,可以参考官方文档中关于"$"后缀的解释。

解决方法是参考官方文档中的命名约定,将"$"后缀应用于Subjects的主题。虽然风格指南中只提到了Observable类型的变量,但通过参考官方文档,我们可以确定在Subjects中也可以使用"$"后缀。

以下是官方文档中关于命名约定的摘录:

For observables, use the $ suffix.

因此,根据官方文档的建议,我们可以在Subjects的主题中使用"$"后缀来标识它们是可观察的变量。

0
0 Comments

在RxJs和Angular中是否应该在Subject中使用"$"符号后缀的问题是因为当从流中提取值时,避免出现相同的变量名。

解决方法是在Subject中使用"$"符号后缀,以避免变量名冲突。

例如,在上面的示例中,如果不使用"$"符号后缀,就会出现两个名为"currentTimeMs"的变量。虽然这仍然可以工作,但会更加混乱。当然,你也可以将内部变量重新命名为不同的名称,但总体上,我发现使用以下命名会更清晰:

const currentTimeSeconds$ = currentTimeMs$.pipe(
  map(currentTimeMs => currentTimeMs * 1000)
)

0