2

我正在开发一个角度应用程序。对于某个指令,我使用这样的模板函数:

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

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

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

如果我将其更改为正常的键值对,如下所示,它可以正常工作。

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

我不明白这里有什么问题。链接和编译功能工作得很好。对此的任何帮助将不胜感激。提前致谢

4

1 回答 1

1

此功能是在 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!";
            }
        }
    })
于 2017-03-18T08:05:37.300 回答