angularUI选择下拉列表仅在输入字符后显示数据

时间:2014-04-08 08:42:27

标签: ajax angularjs angular-ui angular-ui-router

我正在使用AngularJS v1.2.15和angular-ui / ui-select。我的选择HTML是:

<div class="form-group col-md-3">
    <div class="input-group select2-bootstrap-append">

      <ui-select ng-model="modelOwner.selected" theme="select2" class="form-control">
        <match placeholder="Select Owner">{{$select.selected.name}}</match>
        <choices repeat="item in owner | filter: $select.search">
          <span ng-bind-html="item.name | highlight: $select.search"></span>
        </choices>
      </ui-select>

      <span class="input-group-btn">
        <button ng-click="modelOwner.selected = undefined" class="btn btn-danger">
          <span class="glyphicon glyphicon-trash"></span>
        </button>
      </span>

    </div>    
  </div>

我在控制器中的电话是:

$scope.modelOwner = {};

OwnersFactory.query({}, function (data) {
  $scope.owner = data;
});

我的服务代码:

bootstrapApp.factory('OwnersFactory', function ($http,$state,serviceUrl,$resource,$log) {

    return $resource(serviceUrl + 'owner/:id', {}, {
        show: { method: 'GET',  params: {}, isArray: false }
    })
});

现在,在我的表单中,我只能在输入至少一个字符后才能查看这些值。我希望此选择下拉列表仅通过单击下拉列表来显示值(而不是通过输入任何字符。)

可能的解决方案:如果我只能在完成所有AJAX调用后加载我的状态。

请帮帮我。

1 个答案:

答案 0 :(得分:0)

如果您使用的是ui-router,则可以在每个状态下使用resolve,以便在初始化控制器之前解析调用

https://github.com/angular-ui/ui-router/wiki#resolve