1

Error: this.filters.forEach is not a function

.provider('searchFilter', function() {
  this.filters = {
    location : {
      default: 'Boston, MA',
      value: ''
    },
    radius : {
      default: '1',
      value: ''
    }
  }
  this.$get = function() {
      var filters = this.returnFilters();
      return {
          returnFilters: function() {
            return filters;
          }
      }
  };
  this.setLocation = function(location) {
      this.filters.location.default = location;
  };
  this.setRadius = function(radius) {
      this.filters.radius.default = radius;
  };
  this.returnFilters = function() {
    this.filters.forEach(function (filter) {
      filter.value = (filter.value=='')?filter.default:filter.value;
    });
    return this.filters;
  };
});

サービスforEach内で使用できないのはなぜですか?.provider

4

1 に答える 1

0

filtersはオブジェクトであり、「forEach」メソッドはありません。ただし、for(.. in ..)またはを使用できますObject.keys(..).forEach(または、私もangular.eachそう思います)

于 2013-05-29T20:38:27.437 に答える