Функция шаблона AngularJS в директиве, выдающая ошибку "Шаблон для директивы должен иметь ровно один корневой элемент"
Я работаю над угловым приложением. для определенной директивы я использую функцию шаблона следующим образом:
template: function(element, attr) {
return '<div class="myClass">/..some HTML here../</div>'
}
Однако, когда я запускаю свой код, я получаю следующую ошибку:
Ошибка: шаблон для директивы должен иметь ровно один корневой элемент, был функцией (element, attr) { ... определение функции здесь идет}
Если я поменяю его на обычную пару ключ-значение следующим образом, он будет работать нормально.
template: '<div class="myClass">/..some HTML here../</div>'
Я не понимаю, что здесь не так. Функции линковки и компиляции работают просто отлично. Любая помощь в этом была бы очень признательна. заранее спасибо
1 ответ
Эта функция была введена в более поздней версии Angular 1.1.4. Вам придется обновить или найти обходной путь, как упомянуто @saiyan.
Проверьте этот plunkr - http://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!";
}
}
})