Di chuyển dọc theo AngularJS, tôi gặp phải lỗi JavaScript trên dòng // ERROR
bên dưới.Không thể đặt thuộc tính của thành viên chưa được xác định
Tại sao tôi nhận được Cannot set property 'show' of undefined
?
<html ng-app>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js">
</script>
<div ng-controller='DeathrayMenuController'>
<button ng-click='toggleMenu()'>Toggle Menu</button>
<ul ng-show='menuState.show'>
<li ng-click='stun()'>Stun</li>
<li ng-click='disintegrate()'>Disintegrate</li>
<li ng-click='erase()'>Erase from history</li>
</ul>
<div/>
<script>
function DeathrayMenuController($scope) {
$scope.menuState.show = false; // ERROR HERE
$scope.toggleMenu = function() {
$scope.menuState.show = !$scope.menuState.show;
};
}
</script>
</body>
</html>
Chỉ cần đi qua vấn đề này cùng khi đọc. Sự mơ hồ rằng câu trả lời đầu tiên không thực sự rõ ràng là nó chỉ sử dụng gạch dưới nhưng khi làm như vậy tạo ra một biến dưới đối tượng phạm vi, trong khi toán tử dấu chấm đã thiết lập một biến không khai báo. Câu trả lời này dường như phản ánh đúng hơn việc khắc phục tình trạng sau này. Cảm ơn – tsurantino