指令中的AngularJS模板函数给出错误'模板指令必须只有一个根元素'

时间:2017-03-18 06:28:31

标签: javascript html angularjs angularjs-directive angularjs-templates

我正在进行角度应用。对于某个指令,我使用这样的模板函数:

template: function(element, attr) {
              return '<div class="myClass">/..some HTML here../</div>'
          }

但是,当我运行我的代码时,我收到以下错误:

  

错误:指令的模板必须只有一个根元素,是   function(element,attr){...函数定义在这里}

如果我将其更改为普通键值对,则可以正常工作。

template: '<div class="myClass">/..some HTML here../</div>'

我不明白这里有什么不对。链接和编译功能工作得很好。任何有关这方面的帮助将非常感激。提前致谢

1 个答案:

答案 0 :(得分:1)

此功能是在角度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!";
            }
        }
    })