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

角组件:没有模板替换选项?

黄泰宁
2023-03-14
问题内容

看起来新的AngularJS1.5组件概念中没有“替换”选项(就像用于指令一样)。

如果我想将 表格行 <TR>元素作为组件,您会提出什么建议?就有效的HTML而言,这是不可能的吗?

实际示例:mailBox组件内部具有邮件组件。通过标记,mail-box-component是table,而mail-box是tr。

<mail-box>
    <mail ng-repeat="mail in $ctrl.mails" mail="mail"></mail>
<mail-box>

UPD :有关指令的相关讨论-为什么AngularJS中不推荐使用replace?


问题答案:

由于replace:true标志已被弃用,因此不再可行

为什么在AngularJS中不推荐使用replace?

replace:true标志比解决方案提出了更多的问题,因此将其删除。因此,您不能再以这种方式构建指令并提供有效的table-tr-td标记。

但是,有两个原因使它看上去不那么糟糕:

  1. 您可以在不使用表,tr,td等的情况下完成所有想要做的事情,只需使用div,span等元素以及其中的一些CSS

  2. Web组件(指令是首次模拟它们)并不意味着代表标记的这些小片段。他们更多地被认为是实际上在做某事的一个功能齐全的组件。因此,无论您想对tr做什么,都认为值得围绕它构建一个元素指令,但这可能不是。

也许,您可以使用属性指令代替:

<tr my-mail-directive></tr>

而您的my-mail指令对tr元素起到了神奇作用



 类似资料:
  • 问题内容: 刚达新到角。是否可以用包含的模板的内容 替换 ng-include节点?例如,使用: 生成的html是: 但是我想要的是: 问题答案: 我遇到了同样的问题,但仍然希望ng- include的功能包括动态模板。我正在构建一个动态的Bootstrap工具栏,我需要更清洁的标记才能正确应用CSS样式。 这是我为感兴趣的人提供的解决方案: HTML: 自定义指令: 如果在上面的示例中使用了此解

  • 类似于View Design的,或者说这个该怎么实现呢,最好加上点击收起左侧区域的功能

  • 我有一个rails应用程序,使用angularjs进行客户端开发。我尝试加载位于“app/assets/javascripts/templates/”中的模板: 但是我总是得到一个错误:错误:[$compile: tpload]未能加载模板:/index.html。 我试图将“templates”文件夹从javascripts-app/assets/templates中移出,并通过在config/

  • 所以,我试着跟随着一个视频,以帮助自己与一个项目,我很快。当跟踪这个项目时,我认识到我的visual studios是不同的。在视频中,它显示了窗口以及不同的模板,如和。而在我的,我不能看到任何模板。我已经尝试查找其他方法来找到这些模板,但我还没有找到它。我希望有人能帮我找出我在我的视觉工作室中遗漏了什么。下面是视频visual studios,第二张图片是我的visual studios()。

  • 我有一段代码,它是做模板专门化的常用模式。为了移除main函数第一行中为Processor1指定DataType1的要求,我想改为接收一个template模板参数。看起来using指令不支持分配“open”模板参数,而且我在web中找不到任何这样的示例(可能我没有使用适当的关键字进行搜索...) 所以问题很“简单”,我如何让这段代码编译呢?在FindDefaultProcessor中,使用type

  • 问题内容: 我可能在做一些非常愚蠢的事情,但是我很沮丧。 我有一个数据框,我想用超过零的值替换特定列中的值。我以为这是实现此目标的一种方式: 如果将通道复制到新的数据框中,这很简单: 这完全符合我的要求,但似乎无法与通道一起用作原始数据帧的一部分。 问题答案: 可以在0.20.0之前的熊猫版本上正常工作,但是由于pandas为0.20.0 ,因此不推荐使用,因此应避免使用它。而是可以使用或索引器。