![](/img/trans.png)
[英]Angular js directive controller access scope property but returns undefined
[英]Can't Get To $scope Property in Angular JS Controller?
我的Angular应用中有以下简单控制器
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);
}
控制器底部的第一个控制台日志语句返回未定义,但是第二个控制台日志语句返回一个如下所示的对象:
我在此对象中看到了“目标”属性以及许多其他方法/属性。 如果尝试使用“ console.log($ scope.target)”进行打印,为什么会在控制台中收到“未定义”消息?
可能是时间问题。 在未设置$ watch语句之前,您正在console.logging记录$ scope.target的值。 它很可能是在它登录到控制台时设置的,您可以对其进行扩展,但是在到达第一个日志时就没有设置。
这是一个时序问题:您看到undefined
因为当代码到达log
语句时, $scope.target
尚不可用。
您可以将batarang插件安装到chrome浏览器中,以检查$scope
元素的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.