javascript - Angular 组件 : no template replace option?

标签 javascript angularjs replace components

AngularJS 1.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:关于指令的相关讨论 - Why is replace deprecated in AngularJS?

最佳答案

由于 replace: true 标志已被弃用,这不再是可能的 Angular 方式

Why is replace deprecated in AngularJS?

replace: true 标志提出的问题多于解决方案,这就是它被删除的原因。 因此,您不能再以这种方式构建指令并提供有效的 table-tr-td 标记。

然而,这并没有看起来那么糟糕的原因有两个:

  1. 你可以在没有 table、tr、td 等的情况下做任何你想做的事情。 只使用 div、span 等元素和一些 css

  2. 网络组件(和指令是第一次尝试模拟 它们)并不意味着代表标记的如此小的片段。 实际上,它们更多地被认为是功能齐全的组件 做某事。所以无论你想用你的tr做什么 认为围绕它构建一个元素指令是值得的,它 可能不是。

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

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

你的 my-mail-directive 在 tr 元素上施展魔法

关于javascript - Angular 组件 : no template replace option?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35290332/

相关文章:

javascript - AngularJS 处理 ASP.NET PartialView 的问题

javascript - 具有过滤自动完成功能的 ngTagsInput

angularjs - 隐藏过滤器框 Angular ui 网格

javascript - Javascript 正则表达式中的分组是如何工作的?

javascript - 从 1 个输入更新两个表单输入

javascript - GreaseMonkey脚本重写图片链接

php - 增强我的 BBCode 类(class)。如何在一个循环中搜索特殊名称?

javascript - 从 Javascript 数组中删除相似的字符串

javascript - nodeJS 中的持久变量

javascript - 如何将 Angular 功能添加到新添加的 HTML 中?