6

我写了这样的指令:

app.directive('headersort', function () {
    return {
        restrict: 'E',
        scope: {
            sortBy: '=',
            title: '='
        },
        template: '<th>{{ title }}</th>',
        replace: true,
        link: function (scope, element, attributes) { 
            scope.sortBy = attributes.sortBy;
            scope.title = attributes.title;

        }
    };
});

我像这样使用它:

<headersort sortBy="Name" title="Product">

我想要的<headersort sortBy="Name" title="Product">是替换为<th>Product</th>. 但我收到一条错误消息:

Template must have exactly one root element. was: <th>{{ title }}</th>

但我确实有一个根元素,对吧?我的根元素是<th>,那么为什么 Angular 会抛出这个错误?根元素的条件/定义是什么?

4

2 回答 2

5

看看这个问题。

尝试将您的指令从更改restrict: 'E'restrict: 'A'并将您的 HTML 更改为<th headersort sortBy="Name" title="Product"></th>

于 2013-05-21T10:03:37.730 回答
0

我认为这是关于table元素的说法。你有没有在某个地方定义它?

于 2013-05-21T10:02:00.783 回答