一尘不染

为什么AngularJS指令中不推荐使用`replace`属性?

javascript

根据API文档,伪指令的replace属性已弃用,因此将来,所有伪指令的行为都将使用当前默认值replace: false

这消除了开发人员替换element指令的element的能力,而没有明显替代此功能的能力。

有关如何使用元素指令和不使用元素指令的示例,请参见此示例replace: true

为什么不推荐使用此有用的属性而不进行替换?


阅读 452

收藏
2020-04-25

共1个答案

一尘不染

replace在下一个主要的Angular版本中,将删除用于定义替换其所在元素的指令的标志。此功能具有难以理解的语义(例如,如何合并属性),并且与解决方案相比会导致更多问题。另外,对于WebComponents,在DOM中具有自定义元素是很正常的。

在我看来,它是复杂性与保持支持的优势的结合。

开发人员之所以使用它,显然是一个原因,因为他们更喜欢注入语义正确的标记,从而取代了自定义指令标记。


阅读该链接下方的注释,显然许多人希望它保留下来。

2020-04-25