2015-12-02 92 views
-1

我有一个读取Javascript对象数组值的应用程序。我想将一些JSON放入该对象数组中,但我不确定是否正确处理它。将JSON结果放入Javascript对象

The JSON that I am using

JavaScript对象数组:

$scope.tijdvakken = [{ 
     begintijd: '', 
     eindtijd: '' 
}] 

我检索JSON具有的函数,并且将它传递给HTML作为tijdvak如下所示:

<div id="tijdvakken" ng-repeat="tvak in tijdvak"> 
     <p ng-model="tijdvakken.begintijd">{{ tvak.begintijd }}</p> 
     <p ng-model="tijdvakken.eindtijd">{{ tvak.eindtijd }}</p> 
</div> 

我可以看到我的网页上的结果,但他们没有被放入对象。我在这里做错了什么,可能会有更简单的方法将结果放入没有HTML的对象中?

编辑:

我的功能检索JSON数据:

afsprakenService.getObject = function (link){ 
    return $http.get(tijdvakkenmockup); 
}; 


$scope.getTijdvak = function() { 
        afsprakenService.getObject() 
         .success(function(tijdvak) { 

          $rootScope.tijdvak = tijdvak; 
          $rootScope.alerts.push({ 
           type: 'success', 
           msg: 'Retrieved' 
          }); 
         }) 
         .error(function(error) { 
          $rootScope.alerts.push({ 
           type: 'danger', 
           msg: 'Error retrieving! ' + error.message 
          }); 
         }); 
       }; 
+0

不,我想每一个JSON对象添加为$范围内一个新的JavaScript对象。 tijdvakken,所以我会有一个对象数组。 –

+0

你在哪里推送数组中的'json'数据? – Vineet

+0

欢迎来到计算器。你使用Angular的'$ http'服务吗?请为你的AJAX呼叫显示回调,否则诊断你的问题是一个占卜行使。 –

回答

0

其实我不认为你在这里有问题,你已经把响应数据放入rootScope.tijdvak。但我也建议你使用$ scope而不是$ rootScope。

$scope.tijdvakken = tijdvak; 

可以使用的console.log 成功函数里面看到JSON对象的值

console.log('tijdvak', $scope.tijdvakken); 
+0

是的。我记录了JSON对象,将它绑定到了我的HTML,我的页面显示了所有结果。然后我登录$ scope.tijdvakken,但它是空的。 –

+0

您是否在成功功能内登录过它?这是一个承诺,所以你需要登录功能。 –

+0

在我的页面上显示JSON结果的事实并不意味着JSON数据已被绑定到tijdvak?问题在于数据并没有被绑定到tijdvakken。我不确定,但我认为我需要以某种方式将数据推入对象,因为它不会自动绑定它(纠正我,如果我在这方面是错误的?)。 –

1

<p>元素上,则不应使用ng-modelng-model仅适用于表单元素。如<input>,<select><textarea>

您可能想用ng-bind代替。

而且在$范围内使用tijdvakken但HTML是tijdvak在通过你的JSON数据ng-repeat="tvak in tijdvak"

0

循环(这是一个对象数组太)和array.push他们到新阵列。或者,您可以将您的JSON指向您的新阵列。

for (var i = 0; i < $scope.tijdvak.length; i++){ 

    $scope.tijdvakken.push($scope.tijdvak[i]); 

} 
+0

这工作!谢谢! –

+0

你为什么要进入我的页面并且对我提出的每个问题都进行了低调处理?我首先接受了你的答案,但PanGa向我展示了一个替代方案。我会向你报告滥用情况。 –

+0

您的“问题”对我来说看起来很好.... http://stackoverflow.com/users/5589905/lok-kwan-foo – xeon48