不显示工厂返回值

时间:2014-06-01 13:10:35

标签: angularjs

我创建了一个返回数组的简单工厂。我将返回的值设置为范围值,但在UI上我看不到值。

var app = angular.module('so', []);

app.controller('TestCtrl', function($scope, myFactory) {
  $scope.testFactory = [];

  $scope.runFactory = function() {
    $scope.testFactory = myFactory.test();
  }
});

app.factory('myFactory', function() {
  var test = function() {
    var x = [];
    x['FR'] = {
      country: 'France',
      capital: 'Paris'
    };
    console.log(x);
    return x;
  };

  return {
    test: test
  };
});

我创建了一个显示问题的Plunker

1 个答案:

答案 0 :(得分:3)

那是因为您使用数组作为对象(散列)而不是数组(元素从索引0到N)。 json过滤器不会处理这种结构。

只需使用var x = {};代替var x = [];,价值就会按预期显示。