Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS中的ngTransclude_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS中的ngTransclude

Javascript AngularJS中的ngTransclude,javascript,angularjs,Javascript,Angularjs,我是AngularJS的新手,在学习阶段,我遇到了ngTransclude,当我开始阅读文档时,我能够得到它真正的作用 你们中的任何一个人,请告诉我ngTransclude实际上做了什么,当它被包括在指令中时,当它没有被包括在指令中时,它的变化是什么 请让我清楚地了解ngTransclude,它的重要性,以及我们何时可以使用它。我只想看到它起作用: 示例说明 可以将“ngTransclude”理解为“保留元素内部的任何内容,即使在我重写它之后也要保留元素内部的内容”。它最常用于指令。以下面的示

我是AngularJS的新手,在学习阶段,我遇到了ngTransclude,当我开始阅读文档时,我能够得到它真正的作用

你们中的任何一个人,请告诉我ngTransclude实际上做了什么,当它被包括在指令中时,当它没有被包括在指令中时,它的变化是什么


请让我清楚地了解ngTransclude,它的重要性,以及我们何时可以使用它。

我只想看到它起作用:

示例说明

可以将“ngTransclude”理解为“保留元素内部的任何内容,即使在我重写它之后也要保留元素内部的内容”。它最常用于指令。以下面的示例为例,我定义了一个指令“Emphasis text”,它实际上只是将在“h1”元素中提供的任何内容包装起来。以下是该指令:

app.directive("emphasizeText", function () {
  return {
    restrict: 'E',
    transclude: true,
    template: '<h1 ng-transclude></h1>',
  }
});
app.指令(“emphasiszetext”,函数(){
返回{
限制:'E',
是的,
模板:“”,
}
});
现在,要在页面上使用它,以下html将非常有效:

<!-- transclude will keep text of course -->
<emphasize-text>Example With Just Text</emphasize-text>

<!-- transclude also keep html tags intact -->
<emphasize-text><i>Example With Italics Tag</i></emphasize-text>

<!-- translcude will even keep angular variables intact!  -->
<emphasize-text>
  <div>This is a first div</div>
  <div>This is a {{secondVariable}} div</div>
</emphasize-text>

仅包含文本的示例
带有斜体标记的示例
这是第一组
这是一个{secondVariable}}div
如果你看一看这个庞然大物()。使用现代浏览器和输出上的“查看源”,您将看到发生了什么。标签被精确地维护,只需将它们包装成“h1”!完全是我们想要的

这里的关键是你可以在html中修改语义、行为或任何你想要的东西!就个人而言,我觉得这最适合自定义控件,而不是像我使用它那样简单的东西。事实上,我的例子可能是一个非常糟糕的例子,因为未来的程序员知道“h1”是什么比他们知道“强调文本”将变成什么要快得多。也就是说,你明白了


快乐定制

以下是我在网上找到的一个更好的解释:。如果你是AngularJS的新手,我强烈建议你看一下网站上的其他视频。它们非常清楚,内容丰富。