$ http.get获取deseralized JSON但无法将其分配给数组

时间:2016-08-23 12:38:27

标签: javascript angularjs javascript-events angularjs-scope

我在将数据读入另一个变量时遇到问题,我有这个功能:

lxc exec mydhcpcontainer -- ifconfig

然后我有以下内容:

     var vm = this;

     $http.get("/source").success(function(data) {
         alert("Horay !!!");
         vm.myData = data;
     }).error(function() {
         alert("Dang It!");
     });

在控制器下使用agnular,我可以看到vm.myData的值,我也可以拉它...但我似乎无法将数据分配给我的vm.view.dataTable。

也许这不是正确的方法。

我用原始json项替换了vm.view.dataTabl,它确实显示了。

所以vm.myData赋值给数据之间的某些东西不起作用;

2 个答案:

答案 0 :(得分:2)

$http.get是异步的。 vm.dataTable已分配为未定义,只有vm.myData被分配给data

应该是

$http.get("/source").success(function(data) {
  vm.myData = data;
  vm.view.dataTable = data
}).error(...);

success已弃用。它可以替换为

$http.get("/source").then(function(response) {
  vm.myData = response.data;
  vm.view.dataTable = response.data
}).catch(...);

答案 1 :(得分:0)

您是否尝试检查数据对象的外观? (例如,将其打印到控制台或其他地方)
根据您的数据源,您所预期的数组可能会被封装在一个对象中,而这可以在对象层次结构的更深层次上找到。