aboutsummaryrefslogtreecommitdiffstats
path: root/docs/content/error/$compile/tplrt.ngdoc
diff options
context:
space:
mode:
Diffstat (limited to 'docs/content/error/$compile/tplrt.ngdoc')
-rw-r--r--docs/content/error/$compile/tplrt.ngdoc39
1 files changed, 39 insertions, 0 deletions
diff --git a/docs/content/error/$compile/tplrt.ngdoc b/docs/content/error/$compile/tplrt.ngdoc
new file mode 100644
index 00000000..3c29dbdc
--- /dev/null
+++ b/docs/content/error/$compile/tplrt.ngdoc
@@ -0,0 +1,39 @@
+@ngdoc error
+@name $compile:tplrt
+@fullName Invalid Template Root
+@description
+
+When a directive is declared with `template` (or `templateUrl`) and `replace` mode on, the template
+must have exactly one root element. That is, the text of the template property or the content
+referenced by the templateUrl must be contained within a single html element.
+For example, `<p>blah <em>blah</em> blah</p>` instead of simply `blah <em>blah</em> blah`.
+Otherwise, the replacement operation would result in a single element (the directive) being replaced
+with multiple elements or nodes, which is unsupported and not commonly needed in practice.
+
+
+For example a directive with definition:
+
+```
+myModule.directive('myDirective', function factory() {
+ return {
+ ...
+ replace: true,
+ templateUrl: 'someUrl'
+ ...
+ }
+});
+```
+
+And a template provided at URL `someUrl`. The template must be an html fragment that has only a
+single root element, like the `div` element in this template:
+
+```
+<div><b>Hello</b> World!</div>
+```
+
+An an invalid template to be used with this directive is one that defines multiple root nodes or
+elements. For example:
+
+```
+<b>Hello</b> World!
+```