在加载之前在控制器中使用资源?

时间:2014-07-18 07:12:05

标签: javascript angularjs

我目前正致力于角度应用程序,我将在此处发布一些示例代码。

在我的服务中,我有一个通过$ resource访问rest api的方法:

function getData() {
    resource.get({}, function success(data) {
        return data;
    }, function error() {
        console.log('error')
    })
}

现在已经注入了服务的控制器中我尝试使用上一页中作为routeParameter传递的一些条件的数据,如下所示:

$scope.data = MyResource.getData()
$scope.editingObject = angular.copy($scope.data[$routeParams.objIndex])

在我的视图中,我想绑定到$scope.editingObject,但由于该代码立即执行且数据可能未从服务器返回,因此我收到以下错误:

TypeError: Cannot read property '0' of undefined

现在我明白在数据从服务器返回之前我无法访问数组但我的问题更多的是关于如何构建此服务以便我可以访问该数据?

要解决此问题,我尝试在$scope.data上放置监视并监视要到达的数据,但在数据到达时它永远不会触发。我已经在设置的超时时间内使用console.log确认了这一点,几秒钟之后检查数据是否已到达它的哪一点......并且对象已更新以反映这一点。

有谁能请我指出有关服务,资源和访问数据的正确方向?

0 个答案:

没有答案