无法到达我的角度控制器中的对象内的字段

时间:2016-11-06 01:39:52

标签: angularjs controller

我正在使用工厂从数据库中获取电视节目。我想将此对象中的剧集字段发送到角度服务,但我一直使用点表示法和括号表示法来定义。有人可以解释如何获得这个领域。

控制器

angular.module('showApp.controllers', []).controller('ShowViewController', function($scope, $stateParams, Show, $http) {
  $scope.show = Show.get({ id: $stateParams.id }); //Get a single show.Issues a GET to /api/shows/:id

  console.log($scope.show)
  console.log($scope.show.episodes)
})

控制台输出

m
$promise:d
$resolved:true
__v:0
_id:"581a5b82ff9e9f10f22afff7"
airs_on:Array[1]
episodes:Array[11]
genre:Array[3]
network:"Netflix"
poster:"https://images-na.ssl-images-amazon.com/images/M/MV5BMTk5NTk1Mzg3Ml5BMl5BanBnXkFtZTcwNDAyNzY3OA@@._V1._CR25,3,1010,1343_SY1000_CR0,0,752,1000_AL_.jpg"
program_time:60
rated:"TV-MA"
streams_on:Array[3]
title:"Black Mirror"
yearBegin:2011
__proto__:Object

undefined

2 个答案:

答案 0 :(得分:1)

您可以通过以下方式等待结果:

$scope.show.$promise.then(function(show) {
  console.log(show.episodes);
})

您应该在then函数中调用该服务。

答案 1 :(得分:0)

我认为这是一个时间问题。应该有来自http get请求的回调,此时$ scope.show是有效的 - 你应该在回调中记录你的控制台