首页 > 解决方案 > 如何从 json 获取数据以在 AngularJS 中查看

问题描述

我有一个 Angular 控制器,它通过服务从 2 个不同的 json 文件中获取数据,我需要将该数据传递给视图。

控制器文件:

.controller('MainController', ['info', function (info){
    var vm = this;

    info.getAddresses().then(function(data) {
      vm.addresses = data.addresses;
    });

    info.getNames().then(function(data) {
      vm.names = data.names;
    });
    console.log(this);
}])

getAddresses 和 getNames 函数只是 $.get('json-url')。

如果我在右括号之前的控制器中使用 console.log(this),我可以在控制台中看到以下数据:

控制台日志 但我无法从视图中访问这两个属性。我错过了什么吗?

标签: angularjsjson

解决方案


使用范围变量来存储数据而不是 var

.controller('MainController', ['info', '$scope', $scope, function (info){
$scope.vm = this;

info.getAddresses().then(function(data) {
  $scope.vm.addresses = data.addresses;
});

info.getNames().then(function(data) {
  $scope.vm.names = data.names;
});
console.log(this);

}])

并在您的视图中调用此范围变量,例如

<tr ng-repeat = item in vm>
   <td>you can get your data here</td>
</tr>

希望这有效


推荐阅读