当我在视野中阅读对象时,我没有任何问题。例如我的代码是:
angular.module('myApp',[])
.controller('myCtrl',function($scope){
var AnswerScheme = $scope.AnswerScheme = tbl_qst_master_answer.getByAnswerId(AnswerIdSelectedByStudent);
});
在我看来:
{{AnswerScheme[0]}} // Then the output will be: {"myTestData":123}
但是,如果我想在控制器中读取
,我会遇到问题AnswerScheme[0] // Then no results
如何阅读myCtrl
中的对象?
答案 0 :(得分:1)
在您的控制器中,您应该使用$scope
来访问范围数据,
所以,{{AnswerScheme[0]}}
在视图中等于$scope.AnswerScheme[0]
n控制器
在您的服务中,您将返回一个对象而不是一个承诺。
If you return a promise, you can call a callback function.
即使它在视图中以核心方式显示,因为视图中始终会监视范围。
根据我们的讨论,如果您在控制器中添加$timeout
,则可以访问该对象
timeout
在某个时间之后加载范围,到那时范围将得到解决。
angular.module('myApp',[])
.controller('myCtrl',function($scope,$timeout){
var AnswerScheme = $scope.AnswerScheme = tbl_qst_master_answer.getByAnswerId(AnswerIdSelectedByStudent);
$timeout(function () {
console.log($scope.AnswerScheme)
},900);
});
答案 1 :(得分:0)
你可以这样读,这将包含对象。对象也没有索引。
你必须使用$scope.AnswerScheme
Console.log($scope.AnswerScheme);
如果它是一个数组,你可以使用$scope.AnswerScheme[0]
Console.log($scope.AnswerScheme[0]);