使用JSON数据在控制器中分配范围变量,而不是查看

时间:2015-09-13 03:10:31

标签: json angularjs

我的应用程序收到一个带有两个布尔值的JSON对象。我使用以下命令访问控制器中的JSON数据:

$http.post('url-here', {"token": token })
        .success(function(data) {$scope.tokenValidate = data;});

这是我收到的JSON对象:

{valid: true, expired: false}

我可以使用以下内容在我的视图中访问此数据:

{{ tokenValidate.valid }} or {{ tokenValidate.expired }}

相反,由于我正在创建视图的方式,我想使用这些布尔值将字符串分配给控制器内的范围变量,如下所示:

if ($scope.tokenValidate.valid) {
    $scope.header = "Choose a new password";
} else if ($scope.tokenValidate.expired) {
    $scope.header = "This link has expired.";
    $scope.mesage = "Enter your email address to receive a new link."
} else {
    $scope.header = "This link is invalid."
}

执行此操作时,控制器无法正确读取JSON数据。

TypeError: Cannot read property 'valid' of undefined

有任何帮助吗?我的猜测是,它有一些事实,当我从视图中访问JSON时,它已经被加载,但是当我尝试从控制器访问它时,$scope.tokenValidate尚未分配。

1 个答案:

答案 0 :(得分:0)

可能值是字符串,而不是bool

{{1}}