栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

了解指令定义的transclude选项?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

了解指令定义的transclude选项?

考虑在一个元素中一个名为 myDirective 的指令,该元素正在封装其他内容,比如说:

<div my-directive>    <button>some button</button>    <a href="#">and a link</a></div>

如果 myDirective 使用的是模板,则会看到的内容

<div my-directive>
将被指令模板替换。因此具有:

app.directive('myDirective', function(){    return{        template: '<div > This is my directive content</div>'    }});

将导致此渲染:

<div > This is my directive content</div>

请注意,原始元素的内容

<div my-directive>
将丢失 (或更确切地说, 将被 替换)。因此,与这些伙伴说再见:

<button>some button</button><a href="#">and a link</a>

那么,如果您想保留您的

<button>...
<a href>...
DOM,该怎么办?您将需要一种称为“包含”的东西。这个概念非常简单:
将内容从一个地方包含到另一个地方 。因此,现在您的指令将如下所示:

app.directive('myDirective', function(){    return{        transclude: true,        template: '<div > This is my directive content</div> <ng-transclude></ng-transclude>'    }});

这将呈现:

<div > This is my directive content    <button>some button</button>    <a href="#">and a link</a></div>.

总之,当您使用指令时要保留元素的内容时,基本上可以使用transclude。

我的代码示例在这里。你也可以受益于看这个。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/637315.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号