1

我想在编译之前获取指令的 html 内容。

这是一个例子:

<my-directive>
  <ul>
    <li ng-repeat="item in items">{{item.label}}</li>
  </ul>
</my-directive>

我想获取所有内容my-directive并将其从中删除并在其他地方使用它(不在它自己的指令内

所以换句话说,我想访问指令 DOM,做一些更改,然后编译它。

4

1 回答 1

4

如果要在 Angular 编译指令内容之前获取指令内容,则需要使用指令的 compile 函数:

app.directive('myDirective', function() {
    return {
        compile: function(tElement) {

            var html = tElement.html();
            console.log(html);

            // return link function if needed
            return function(scope, element) {
                console.log('link function');
            }
        }
    };
});

演示: http ://plnkr.co/edit/E5uuZY74iYc3g9s6sZkc?p=preview

于 2015-05-17T11:56:51.403 回答