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

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

百里朝
2023-03-14
问题内容

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

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

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

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


问题答案:

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

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

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

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



 类似资料:
  • 问题内容: 众所周知,Java 中的接口已损坏。造成这种情况的原因很多,我将不再赘述。其他人已经做到了。这也是Java架构师本身的立场。 因此,我的问题是:为什么还不被弃用?如果核心Java团队已确定它已损坏,那么他们还必须考虑过时。他们反对这样做的原因是什么(在Java 8中仍不建议弃用)? 问题答案: 有一个错误在1997年提交给Java的错误数据库有关添加方法,所以将不再是无用的。它以“无法

  • 问题内容: 我曾经在hibernate 3中使用getHibernateTemplate(),现在我转向了Hibernate 4,在这里我找不到以下类: 在这里我已经阅读过有关它的更多信息,不建议使用 http://forum.springsource.org/showthread.php?117227-Missing-Hibernate- Classes-Interfaces-in-spring

  • 问题内容: 我正在将hibernate项目配置为使用第二级缓存提供程序,以便可以利用查询缓存。 我向ehcache添加了一个依赖项: 我认为我要使用的提供程序类是: 在eclipse中查看引用的库时,我在和上都看到了注释。是什么赋予了?我可以使用最新的替代供应商吗? 我正在使用hibernate版本3.4.0.GA,以防万一。 问题答案: 是什么赋予了?我可以使用最新的替代供应商吗? 不推荐使用它

  • 问题内容: 我曾经在hibernate 3中使用getHibernateTemplate(),现在我转向了Hibernate 4,在这里我找不到以下类: 有人可以解释我为什么吗?在hibernate4中,我现在需要执行所有任务,例如提交,关闭,刷新由getHibernateTemplate()方法自动管理的事务? 问题答案: 因为它的主要目的是使Hibernate会话绑定到当前的Spring事务(

  • 问题内容: ..如果您使用ng-model,则必须在某处有一个点。如果没有点,那么您就在做错误..” 但是,Angular.JS网站中的第一个示例(基础知识)似乎与此矛盾。是什么赋予了?自从MTV聚会以来,Angular.JS是否已更改,因为它现在对ng- model更宽容了? 问题答案: 在处理范围继承的复杂性时,这个小点非常重要。 该egghead.io视频“点”有一个很好的概述,做到这一点非

  • 问题内容: HTML从早期开始就有框架,但是在最新版本中已弃用。许多浏览器(我曾尝试使用Internet Explorer)甚至无法正确显示框架。 为什么要这样做?镜框的缺点是什么? 问题答案: 雅各布·尼尔森(JakobNielsen)在1996年的专栏批评镜框。一些关键点: 框架会阻止用户正确标记页面。加载带有书签的框架集页面时,用户先前在框架内单击鼠标没有关系。仅保存外部URL,用户必须导航