我正在显示房间的属性作为我正在处理的房间管理应用程序的一部分,这是输出:
正如你所看到的,Beamer(投影仪的英文版)的价值是"Sony(lamp 01/12/2013)".这个输出是正确的但是当我打开我的控制台时,我看到一些关于插值的错误:
分辨率更高:
"Can't interpolate: {{getBeamerString()}} TypeError: Cannot read property 'aanwezig' of undefined"
这是我的html部分:
... Eigenschap Waarde Bewerk ... Beamer {{getBeamerString()}}
currentRuimte(CurrentRoom in English)是一个范围定义变量,它使用从我的mongoDB获取该数据的资源服务获取其值:
function RuimteController($scope, $routeParams, Ruimte) { $scope.currentRuimte = Ruimte.get({ ruimteNaam: $routeParams.ruimteNaam }); $scope.getBeamerString = function () { var beamer = $scope.currentRuimte.beamer; if(beamer.aanwezig == 'Ja'){ return beamer.typeBeamer + ' (lamp: ' + beamer.datumLamp + ')'; }else{ return '-'; } } }
当我使用batarang检查范围时,我得到了这个:
为什么我会收到错误,为什么我仍然得到正确的输出?有没有办法防止错误发生?请尽可能多地纠正我,我对AngularJS和Javascript很新,并尝试扩展我的技能组合.