提问者:小点点

Angular 10种不同的ID类型如何用css文件添加css样式


我并不真正理解这三种在HTML中声明ID的方法之间的区别:

  1. [id]=“'example'”
  2. id=“example”
  3. #示例

前两者似乎一模一样,这对吗? 我可以在我的example.component.css文件中设置这些样式。

第三个是特别的。 我明白我可以在当前html视图中的任何地方使用它,但是我不能用example.component.CSS应用CSS样式,这对吗?

我应该用哪一个角呢? 1/2和3的组合?

我还注意到,如果我在不同的组件中使用相同的ID,我会有重复的ID,这真的很糟糕,所以即使我使用角度不同的组件,我也必须非常小心我如何命名ID,这是正确的吗?


共3个答案

匿名用户

版本2是id的默认html语法

版本1是角度方式,如果id是变量,例如[id]=“myid”

版本3是angular将html元素导出/引用到angular的方法。 这不是身份证。

id是一个HTML元素(不是角的),因此您必须在构建之后在HTML中看到id是唯一的。

匿名用户

是的,前两个有一个相同的最终结果。 第二个是字符串,而第一个是javascript表达式,并由Angular计算。 这意味着您可以使用诸如[id]=“'example-'。foo”这样的组件属性,如果您的组件中有属性foo=2;,则输出id=“example-2”

第三个实际上与HTML中的ID属性没有任何关系,但我理解为什么它看起来可能是这样的。 它实际上是一个模板引用变量,它允许您从模板中的任何其他地方,甚至从组件代码访问该元素。

您是对的,html规范要求ID是唯一的,浏览器允许您使用重复的ID,但是应该不惜一切代价避免重复的ID。

匿名用户

1.[id]-这是属性绑定。 您可以从ts绑定数据(单向)。 就像这个[id]=“example”

id-这是HTML中id的默认语法。

#example-这是模板引用变量。 不是身份证。

参考本文获取更多信息-https://angular.io/guide/template-reference-variables