Javascript 不允许在角度表达式中引用DOM节点

Javascript 不允许在角度表达式中引用DOM节点,javascript,angularjs,dom,Javascript,Angularjs,Dom,我开始使用指令,到目前为止一切都很顺利。但现在我被困住了。我得到一个错误错误:[$parse:isecdom]不允许在角度表达式中引用DOM节点!表达式:report.getContent(),我看不出引用的是哪种DOM节点。也许我只是被甩了 我有一个作用域函数,它将获得一个报告实例: $scope.showReport = function() { reportFactory.getLatestReport().then(function(report) {

我开始使用指令,到目前为止一切都很顺利。但现在我被困住了。我得到一个错误
错误:[$parse:isecdom]不允许在角度表达式中引用DOM节点!表达式:report.getContent()
,我看不出引用的是哪种DOM节点。也许我只是被甩了

我有一个作用域函数,它将获得一个
报告
实例:

$scope.showReport = function() {
            reportFactory.getLatestReport().then(function(report) {
                $scope.report = report;
            });
        };
我的
报告
对象:

// report.js
return function(data) {
    return {
        content: new Content(data['content']),

        getContent: function() {
            return content;
        }
    }
};
然后,就位的模板将调用(?)指令:

<div ng-show="report">
  <my-report></my-report>
</div>
返回的模板还包含一个指令:

<my-report-content content="report.getContent()"></my-report-content>
报告模板(
Report/content
),但由于引发错误而无法正常工作:

<div ng-if="content.hasFoo()">
  <div ng-include="'report/foo'"></div>
</div>

<div ng-if="!content.hasFoo()">
  <div ng-include="'report/bar'"></div>
</div>

错误:

// report.js
return function(data) {
  return {
      content: new Content(data['content']),

    getContent: function() {
      return content;
    }
  }
};
对:

// report.js
return function(data) {
  return {
      content: new Content(data['content']),

    getContent: function() {
      return this.content;
    }
  }
};

如果你制作了一把小提琴,那么就更容易看到错误。好主意。这样做了,在小提琴演奏过程中,我找到了问题的根源。
report
对象中的
getContent()
函数返回
content
而不是
this.content
。因此,它试图获取模板的
内容
对象(
我的报告内容
)。
// report.js
return function(data) {
  return {
      content: new Content(data['content']),

    getContent: function() {
      return content;
    }
  }
};
// report.js
return function(data) {
  return {
      content: new Content(data['content']),

    getContent: function() {
      return this.content;
    }
  }
};