如何使用自定义角度指令包含子元素
How to include sub elements with custom angular directive?
当前HTML
<g class='entity'>
<rect />
<circle />
...
</g>
新建/所需HTML
<box>
<rect />
<circle />
...
</box>
简单指令
app.directive('box', ['$document', function ($document) {
return {
restrict : 'E',
replace: true,
template: "<g class='entity'></g>"
};
}]);
DOM中的结果
<g class='entity'>... everything missing here ... </g>
我希望子元素保持在适当的位置。
您要查找的内容称为transclusion。如果将transclude:true添加到指令定义中,则将保留所有子元素。模板将只覆盖框元素,但保留内部内容。
app.directive('box', ['$document', function ($document) {
return {
restrict : 'E',
replace: true,
transclude: true,
template: "<g class='entity'></g>"
};
}]);
相关文章:
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- WebGL错误-错误:WebGL:bindBuffer:buffer已包含元素数据
- 如何在 jQuery 的 hover() 事件的热点中包含元素的边距
- jQuery将事件处理程序绑定到具有包含元素的多个元素
- 如何从包含
元素的 javascript 变量中获取单元格数据 - Jquery 查找响应是否包含元素
- 如何创建包含
元素值的数组 - Javascript Garbarge 集合,其中包含包含C++元素的对象
- Javascript 过程,用于提高元素的 z 索引,直到它高于其所有包含元素的 1
- 包含元素的数组的长度 = 0
- 如果查询搜索包含元素,如何返回布尔值
- 将选中绑定与包含元素上的单击绑定相结合
- 如何使用Javascript隐藏和显示鼠标悬停在包含元素上的元素
- 我如何通过id检查我的DOM是否已经包含元素
- CSS使图像具有与包含元素相同的高度
- 在一个溢出:隐藏的包含元素上改变焦点,移动它,但造成不明显的差异
- 使用jQuery或JavaScript访问表单中的元素(或其他包含元素)
- jQuery/Javascript:由AJAX请求拉入的HTML不包含