【问题标题】:Ascribe a variable to JSON Angular将变量归因于 JSON Angular
【发布时间】:2016-12-23 11:08:44
【问题描述】:

如何将变量归因于 JSON name

JSON names 对象

[
    { "name": "John", "age" : "12" },
    { "name": "Ben", "age" : "15" },
    { "name": "Jason", "age" : "18" },
    { "name": "Billy", "age" : "11" }
]

Angular 服务和控制器

var app = angular.module('app', []);
    app.service('service', function($http, $q){
        var deferred = $q.defer();

        $http.get("jsonfile.json").then(function(data){
            deferred.resolve(data);
        });

        this.getNames = function(){
            return deferred.promise;
        }
    });
    app.controller('secondCtrl', function($scope, service){
        var promise = service.getNames();
        promise.then(function(data){
            $scope.names = data.data;
            console.log($scope.names);

        });
});

我在控制器中尝试做的事情:

var name = names.name;

然后我尝试了 HTML ng-repeat {{name}},但没有成功。

【问题讨论】:

  • $scope.names = 数据; console.log($scope.names.name)
  • 就像你在secondCtrl 中所做的那样:promise.then(...) 是好方法。但是传递给then() 的回调之外的任何地方都是无用的,因为服务没有完成检索数据

标签: javascript angularjs json


【解决方案1】:

您可以在 HTML 中使用 ng-repeat 循环遍历您的名称对象。

如果你的数组是:

$scope.names = [
    { "name": "John", "age" : "12" },
    { "name": "Ben", "age" : "15" },
    { "name": "Jason", "age" : "18" },
    { "name": "Billy", "age" : "11" }
];

您可以使用此代码显示names.name

<div ng-repeat="n in names">{{n.name}}</div>

【讨论】:

  • 是的,我知道我可以用 ng-repeat="n in names" 显示 names.name
  • 好吧,您在原始帖子中说过“然后我尝试使用 HTML ng-repeat {{name}},但没有成功。”。那应该是什么意思?
猜你喜欢
  • 2015-06-30
  • 2020-05-17
  • 1970-01-01
  • 2022-01-15
  • 1970-01-01
  • 2018-02-12
  • 2015-05-08
  • 1970-01-01
  • 2020-09-23
相关资源
最近更新 更多