나는 다음과 같은 코드가 있습니다나는 정의를 확인하기 위해 노력하고 있지만, 제대로 동작하지 않습니다
$scope.$watch("pid", _.debounce(function (pid) {
var a = pid;
$scope.$apply(function (pid) {
if (typeof pid == "undefined" || pid == null || pid === "") {
$scope.pidLower = null;
$scope.pidUpper = null;
}
else if (pid.indexOf("-") > 0) {
pid = pid.split("-");
$scope.pidLower = parseInt(pid[0]);
$scope.pidUpper = parseInt(pid[1]);
}
else {
$scope.pidLower = parseInt(pid);
$scope.pidUpper = null;
}
});
}, 1000));
매우 처음으로 코드를 실행합니다 (PID 필드가 비어있을 때) 나는 구글의 개발 도구와 PID 확인 "undefined"로 표시됩니다. 그러나 코드가 실행될 때 첫 번째 조건으로 들어 가지 않습니다. 오히려 두 번째로 이동하고 말하는 오류를 제공합니다 :
형식 오류 : 개체 번호가있는 방법 '같이 IndexOf'
이누군가가 문 경우 처음 무시 이유를 말해 줄 수가 없다?
console.log(typeof pid)
object
undefined
정의되지 않은 경우 첫 번째 조건이됩니다. * 완전한 * 감소 된 테스트 케이스를 만들어서 문제를 볼 수있게하십시오. – Quentin
오류 메시지를 보면서 두 번째 조건으로 간다. 실제로 정의되었지만'indexOf'라는 메서드가 없다고 생각할 것이다. (문자열이나 배열이 아님을 의미한다.) devtools에서 변수를 확인할 때 올바른 범위 안에 있는지 확인 하시겠습니까? 'console.log (typeof pid)'할 수 있습니까? – SoonDead
@SoonDead - 콘솔 로그를 작성하고 질문을 업데이트했습니다. – Melina