개념을 말씀드리자면, ng-if에 있는 것들을 각도 표현이라고 부르는데, 각도는 이 표현을 파싱할 것입니다. "x!='a'"는 실제로 $scope.x != 'a'입니다. 그런데 이 $scope는 ng-repeat에 의해 생성된 범위. "x!='a'"其实就是$scope.x != 'a',顺带一提这个$scope是ng-repeat产生的scope。 下面的test()当然会变parse成$scope.test()在ngRepeat的scope中没找到方法,所以从父scope中找到了你的方法, 然后你的方法return的是一个字符串, 所以判断永远是true다음 test()는 물론 $scope.test()로 구문 분석됩니다. ngRepeat 범위에서 메서드를 찾을 수 없으므로 다음에서 메서드를 찾았습니다. 상위 범위를 선택하면 메서드가 문자열을 반환하므로 판단은 항상 true입니다.
첫째, x를 전달하지 않았고 두 번째로 문자열을 반환했는데 문자열은 항상 정확합니다. 다음과 같이 작성해보세요:
으아악개념을 말씀드리자면, ng-if에 있는 것들을 각도 표현이라고 부르는데, 각도는 이 표현을 파싱할 것입니다.
"x!='a'"
는 실제로$scope.x != 'a'
입니다. 그런데 이$scope
는 ng-repeat에 의해 생성된 범위."x!='a'"
其实就是$scope.x != 'a'
,顺带一提这个$scope
是ng-repeat
产生的scope。下面的
test()
当然会变parse成$scope.test()
在ngRepeat的scope中没找到方法,所以从父scope中找到了你的方法, 然后你的方法return的是一个字符串, 所以判断永远是true
다음test()
는 물론$scope.test()
로 구문 분석됩니다. ngRepeat 범위에서 메서드를 찾을 수 없으므로 다음에서 메서드를 찾았습니다. 상위 범위를 선택하면 메서드가 문자열을 반환하므로 판단은 항상true
입니다.