mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-17 07:40:22 +00:00
32 lines
1.1 KiB
Text
32 lines
1.1 KiB
Text
@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!
|
|
```
|