mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-16 23:30:23 +00:00
39 lines
1.1 KiB
Text
39 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!
|
|
```
|