我的 Angular 应用程序中有以下简单 Controller
vehicleSearchApp.controller('VehicleSearchCtrl', function ($scope, $location){
$scope.location = $location;
$scope.$watch('location.search()', function() {
$scope.target = ($location.search()).target;
}, true);
$scope.changeTarget = function(name) {
$location.search('target', name);
}
console.log($scope.target);
console.log($scope);
}
Controller 底部的第一个控制台日志语句返回未定义,但第二个控制台日志语句返回一个如下所示的对象:
我在该对象中看到“目标”属性以及许多其他方法/属性。如果我尝试使用“console.log($scope.target)”进行打印,为什么会在控制台中收到“未定义”消息?
最佳答案
可能是时间问题。当 $scope.target 没有被设置时,您会立即 console.logging 值,直到 $watch 语句触发。它很可能是在它记录到控制台并展开它时设置的,但不是在它到达第一个日志时设置的。
关于javascript - 无法访问 Angular JS Controller 中的 $scope 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22020978/