AngularJS:TypeError:Object#<object>没有方法&#39; replace&#39; </object>

时间:2014-03-11 11:04:12

标签: javascript angularjs

这是我的问题:

我使用Angular和我尝试实现ngTagsInput指令http://mbenford.github.io/ngTagsInput/)。我面临的问题是尝试使用此控制器从服务中检索结果:

dashboardApp.controller('TagsCtrl', function($scope, $http) {
      $scope.tags = [];
      $scope.loadTags = function(query) {
        $scope.results = $http.get( '/search/autocomplete?q=' + query); // also tried with $http(); same thing
        return $scope.results;
        console.log($scope.results);
      };
    });

在视图中,自动完成&#34;有点工作&#34; ,它提供了一个包含大量[Object Object]的下拉列表。所以我想我非常接近,但是控制台抛出了这个错误(console.log($ scope.results);):

TypeError: Object #<Object> has no method 'replace'

HTML部分,如果您需要它:

 <div class="modal-body" id="ng-tags-input-container" ng-controller="TagsCtrl">
                                <tags-input ng-model="tags">
                                  <auto-complete source="loadTags($query)"></auto-complete>
                                </tags-input>
                              </div>

我希望有人可以提供帮助,这让我发疯了。

1 个答案:

答案 0 :(得分:0)

我与ngTagsInput的创建者Michael Benford进行了一次谈话,他说ngTagsInput只能用于简单的数组,如:['item','item','item'];

就我而言,我有两个解决方案:

  • 制作另一个只返回我需要的字符串作为数组的服务
  • 我可以将我的大json转换为JS
  • 的简单数组

希望它会帮助某人:)