AngularJS element.innerHTML未在指令中定义

Rob*_*ian 15 innerhtml angularjs angularjs-directive

比方说我有:

directives.directive('foo', function () {
    return {
        restrict:'A',
        scope: true,
        link:function (scope, element, attr) {

            console.log('innerHTML is ' + element.innerHTML);

            scope.$watch('update', function (newValue) {
                console.log('innerHTML is... ' + element.innerHTML);
            });

        }
    }
});
Run Code Online (Sandbox Code Playgroud)

...然后innerHTML未定义.我想这是由于Angular处理DOM的方式.获取innerHTML的正确方法是什么?

Jos*_*ler 40

element传递给link函数的变量是jqLit​​e对象 - 而不是DOM对象.您可以使用element[0](就像在jQuery中一样)获取DOM对象,但是jqLit​​e为您提供了一种方法:element.html().查看文档.