AngularJS 보간 오류
작업 중인 룸 관리 어플리케이션의 일부로 룸 속성을 표시하고 있으며, 출력은 다음과 같습니다.

보시다시피 Beamer(영어 Projector)의 값은 "Sony(램프 01/12/2013)"입니다.이 출력은 정확하지만 콘솔을 열면 보간과 관련된 몇 가지 오류가 나타납니다.

더 큰 해상도:
"Can't interpolate: {{getBeamerString()}} TypeError: Cannot read property 'aanwezig' of undefined"
html 부분입니다.
<section class="eigenschappen">
<table class="table table-striped table-hover table-bordered">
<thead>
<tr>
<th>Eigenschap</th>
<th>Waarde</th>
<th>Bewerk</th>
</tr>
</thead>
<tbody>
...
<tr>
<td><img class="ruimteNaam" src="../Images/Beamer.png" alt=""/>Beamer</td>
<td>{{getBeamerString()}}</td>
<td><img class="edit" src="../Images/Edit.png" alt=""/></td>
</tr>
...
</tbody>
</table>
</section>
currentRuimte(영어로 CurrentRoom)는 내 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 '-';
}
}
}
바타랑을 사용하여 스코프를 검사하면 다음과 같은 결과가 나옵니다.

오류가 발생하는 이유는 무엇이며 출력은 여전히 정확한 이유는 무엇입니까?오류가 발생하는 것을 방지할 수 있는 방법이 있습니까?가능한 많이 수정해주세요, 저는 앵글이 처음이라서요.일반적으로 JS와 자바스크립트 그리고 나의 스킬셋을 확장하려고 합니다.
문제는.
$scope.currentRuimte = Ruimte.get({
ruimteNaam: $routeParams.ruimteNaam
});
비동기 작업입니다.$scope.currentRuimte이 호출이 반환될 때 빈 개체가 되며, 얼마 후 데이터를 사용할 수 있게 되면 HTTP 응답으로 채워집니다.
이는 뷰가 처음 렌더링될 때$scope.currentRuimte할 것입니다.{}, 그러므로$scope.currentRuimte.beamer할 것입니다.undefined, 그래서 이 행은:
var beamer = $scope.currentRuimte.beamer;
if(beamer.aanwezig == 'Ja'){ /* <-- undefined.aanwezig ! */
}
예외를 제기할 겁니다당신은 이 문제를 해결할 수 있습니다.beamer먼저 진실입니다.
$scope.getBeamerString = function () {
var beamer = $scope.currentRuimte.beamer;
if(beamer && beamer.aanwezig == 'Ja'){
return beamer.typeBeamer + ' (lamp: ' + beamer.datumLamp + ')';
}else{
return '-';
}
}
언급URL : https://stackoverflow.com/questions/20432127/angularjs-interpolation-error
'programing' 카테고리의 다른 글
| 처음 누락될 때까지 최대 날짜를 선택하는 Mysql (0) | 2023.10.01 |
|---|---|
| n++가 n=n+1보다 빨리 실행되는 이유는 무엇입니까? (0) | 2023.10.01 |
| PL/SQL - where-clause의 선택 조건 - 동적 sql 없이? (0) | 2023.10.01 |
| -moz- and -webkit-는 무엇입니까? (0) | 2023.10.01 |
| XML 문자열을 인쇄할 형식 지정 XML 문자열 (0) | 2023.10.01 |