AngularJS 指令中的模板函数给出错误 'Template for directive must have exactly one root element'
AngularJS template function in directive giving error 'Template for directive must have exactly one root element'
我正在开发 angular 应用程序。对于某个指令,我使用这样的模板函数:
template: function(element, attr) {
return '<div class="myClass">/..some HTML here../</div>'
}
但是,当我 运行 我的代码时,出现以下错误:
Error: Template for directive must have exactly one root element, was
function (element, attr) { ...the function definition goes here }
如果我按如下方式将其更改为普通键值对,则可以正常工作。
template: '<div class="myClass">/..some HTML here../</div>'
我不明白这里出了什么问题。 link 和编译函数工作得很好。对此的任何帮助将不胜感激。提前致谢
此功能是在 angular 1.1.4 的更高版本中引入的。您必须升级或找到@saiyan 提到的解决方法。
检查这个 plunkr - plnkr.co/edit/QVdE3xdn3hmcoQ33gj2R?p=preview
HTML:
<!DOCTYPE html>
<html ng-app="myapp">
<head>
<!-- CHANGE THE ANGULAR VERSION HERE -->
<script src="https://code.angularjs.org/1.0.4/angular.js"></script>
<script src="app.js"></script>
</head>
<body >
<div something></div>
</body>
</html>
JS:
var app = angular.module('myapp', []);
app
.directive("something", function () {
return {
template: function () {
return "Hello World!";
}
}
})
我正在开发 angular 应用程序。对于某个指令,我使用这样的模板函数:
template: function(element, attr) {
return '<div class="myClass">/..some HTML here../</div>'
}
但是,当我 运行 我的代码时,出现以下错误:
Error: Template for directive must have exactly one root element, was function (element, attr) { ...the function definition goes here }
如果我按如下方式将其更改为普通键值对,则可以正常工作。
template: '<div class="myClass">/..some HTML here../</div>'
我不明白这里出了什么问题。 link 和编译函数工作得很好。对此的任何帮助将不胜感激。提前致谢
此功能是在 angular 1.1.4 的更高版本中引入的。您必须升级或找到@saiyan 提到的解决方法。
检查这个 plunkr - plnkr.co/edit/QVdE3xdn3hmcoQ33gj2R?p=preview
HTML:
<!DOCTYPE html>
<html ng-app="myapp">
<head>
<!-- CHANGE THE ANGULAR VERSION HERE -->
<script src="https://code.angularjs.org/1.0.4/angular.js"></script>
<script src="app.js"></script>
</head>
<body >
<div something></div>
</body>
</html>
JS:
var app = angular.module('myapp', []);
app
.directive("something", function () {
return {
template: function () {
return "Hello World!";
}
}
})