【问题标题】:Angular auto complete returns a blank list角度自动完成返回一个空白列表
【发布时间】:2015-07-09 13:17:05
【问题描述】:

我正在使用 AngularJS 创建一个自动完成。自动完成的值列表将使用 json 提供。在我的应用程序中,当我开始输入时,我得到一个空列表。所有的值都是空白的。这是我的视图代码:

<md-autocomplete flex required
    md-input-name="un_registered[vehicle_attributes][brand_name]"
    md-no-cache="mainCtrl.noCache"
    md-selected-item-chang=""
    md-search-text-change=""
    md-selected-item="mainCtrl.selectedItem"
    md-search-text="mainCtrl.searchText"
    md-items="item in mainCtrl.querySearch(mainCtrl.searchText)"
    md-item-text="item.display"
    md-floating-label="Brand" id="un_registered_vehicle_attributes_brand_name">
  <md-item-template>
    <span md-highlight-text="mainCtrl.searchText">{{item.display}}</span>
  </md-item-template>
  <div ng-messages="searchForm.autocompleteField.$error" ng-if="searchForm.autocompleteField.$touched">
    <div ng-message="required">You <b>must</b> have a favorite state.</div>
    <div ng-message="minlength">Your entry is not long enough.</div>
    <div ng-message="maxlength">Your entry is too long.</div>
  </div>
</md-autocomplete>

这是我的querySearch 函数:

mainCtrl.querySearch = querySearch;

function querySearch(query) {
    return $http.get("/panel/all_brands.json")
        .then(function(result) {
            return result;
        });
}

我的 json 数据:

["Example Brand","abcdd","Example Brand2Hh","rr","ffff"]

可能是什么问题?

【问题讨论】:

  • 这是一个承诺问题,您的方法没有返回任何内容。
  • @Fals 我对 Angular 有点陌生......我该如何解决这个问题?

标签: javascript html angularjs angular-material


【解决方案1】:

变化一:

 function querySearch(query) {
    $http.get("/panel/all_brands.json").success(
    function(data, status, headers, config) {
        mainCtrl.TestData = data;
    });
}

变化2:

md-search-text-change="mainCtrl.querySearch(mainCtrl.searchText)"
md-selected-item="mainCtrl.selectedItem"
md-search-text="mainCtrl.searchText"
md-items="item in mainCtrl.TestData | filter: mainCtrl.searchText"

变化3:

 <span md-highlight-text="mainCtrl.searchText">{{item}}</span>

【讨论】:

  • 我编辑了函数。但现在什么也没有发生。甚至没有一个空列表:-(
  • 您的 GET 是否返回 200 响应?成功了吗?
  • 300s 是重定向。您没有取回数据很可能是这里的根本原因。
  • 嗯,当我手动访问 url 时,我可以看到正确的 json 数据。可能是什么问题?
  • 我在返回之前添加了一个console.log来打印data。它给了我这个Object {data: Array[5], status: 200, config: Object, statusText: "OK"}config: Objectdata: Array[5]headers: (name) {status: 200statusText: "OK"__proto__: Object
猜你喜欢
  • 2014-09-21
  • 1970-01-01
  • 1970-01-01
  • 2017-11-22
  • 2021-03-11
  • 1970-01-01
  • 2020-04-07
  • 1970-01-01
  • 2018-10-31
相关资源
最近更新 更多