当前位置: 首页 > 面试题库 >

如何在Angular 2中添加条件属性?

诸葛柏
2023-03-14
问题内容

如何有条件地添加一个元素属性,例如checked复选框的?

NgAttr我认为以前的Angular版本具有并且NgChecked似乎都提供了我所追求的功能。但是,这些属性在Angular
2中似乎不存在,我看不到提供此功能的其他方法。


问题答案:

null 删除它:

[attr.checked]="value ? '' : null"

要么

[attr.checked]="value ? 'checked' : null"

暗示:

属性与属性

当您在其中添加此绑定的HTML元素不具有该绑定中使用的名称的属性(checked在这种情况下),并且也没有将Angular组件或指令应用于具有的同一元素时@Input()checked;,则[xxx]="..."无法使用。

没有此类属性时要绑定的内容

替代方案是[style.xxx]="..."[attr.xxx]="..."[class.xxx]="..."这取决于你试图完成什么。

因为<input>仅具有checked属性,但没有checked属性[attr.checked]="..."是此特定情况的正确方法。

属性只能处理字符串值

常见的陷阱还在于,对于[attr.xxx]="..."绑定,值(...)始终是字符串化的。仅属性和@Input()s可以接收其他值类型,例如布尔值,数字,对象,…

__元素的 大多数 属性和属性都是连接的,并且具有相同的名称。

属性-属性连接

当绑定到属性时,该属性还仅从该属性接收字符串化的值。
当绑定到该属性时,该属性将接收与其绑定的值(布尔值,数字,对象等),而该属性又是字符串化的值。

此后Angular进行了更改,知道了这些特殊情况并进行了处理,<label[for]="即使没有这样的属性,您也可以绑定到(与相同colspan



 类似资料:
  • 如何有条件地添加元素属性,例如复选框的? Angular以前的版本有< code>NgAttr和我认为< code>NgChecked,它们似乎都提供了我所追求的功能。然而,这些属性在Angular 2中似乎并不存在,我也看不出有其他方法可以提供这种功能。

  • 问题内容: 假设我有以下代码: 该语句在计算中是否有效(我认为不是)?如果没有,如何在TensorFlow计算图中添加一条语句? 问题答案: 您是正确的,该语句在这里不起作用,因为该条件是在图构造时评估的,而大概您希望该条件取决于运行时馈入占位符的值。(实际上,它将始终采用第一个分支,因为`condition 0Tensor`,这在Python中是“真实的”。) 为了支持条件控制流,TensorF

  • 我如何添加一些自定义属性? 到目前为止,我使用了以下语法 ...但是它不能读取文件,因为它不能识别“changetype”属性。 如何添加该属性?

  • 问题内容: 如果满足特定条件,是否有办法仅向React组件添加属性? 我应该在渲染后基于Ajax调用将required和readOnly属性添加到表单元素中,但是由于readOnly =“ false”与完全省略该属性不同,因此我看不到如何解决此问题。 下面的示例应解释我想要的内容,但将无法正常工作(解析错误:意外的标识符)。 问题答案: 显然,对于某些属性,如果您传递给它的值不真实,React足

  • 问题内容: 如果响应包含“已完成”或“正在处理,将需要一些时间来处理”,我希望在两种情况下都可以通过请求。 但是,如果我将这两个断言都包含在响应断言中,它将视为“和”。只有双方都满意,它才会通过。在这里,任何一项就足够了。请提出建议。 问题答案: 您将需要一个支持脚本的断言,即Beanshell断言 将Beanshell断言添加为请求的子项,该请求将返回“已完成”或“正在进行”消息 将以下代码放入

  • 我想有条件地向对象添加一个属性。目前我有这个: 问题是如果汽车。电池不存在我有电池:未定义。如果对象中不存在该属性,我宁愿不要该属性。我怎样才能做到这一点?