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;
}
}
};