Javascript 使用angular ui引导和typeahead加载

Javascript 使用angular ui引导和typeahead加载,javascript,angularjs,angular-ui-bootstrap,angular-ui-typeahead,Javascript,Angularjs,Angular Ui Bootstrap,Angular Ui Typeahead,因此,当我的typeahead正在获取远程数据时,我似乎不知道如何使用typeahead加载属性来显示微调器。我在任何地方都找不到它的使用实例 当我们启动请求时,这个值是否需要在范围中手动设置?然后在请求完成时手动将其设置为false?有时候,这些有棱角的东西是有魔力的,我不确定是否有额外的事情发生在后端来处理这些东西 只要举一个简单的例子说明如何在typeahead加载中使用该值就好了。我就是想不出如何正确地使用它。当然,对于一些更复杂的特性,很多Angle文档都缺乏很好的示例。在我看来,文档

因此,当我的typeahead正在获取远程数据时,我似乎不知道如何使用typeahead加载属性来显示微调器。我在任何地方都找不到它的使用实例

当我们启动请求时,这个值是否需要在范围中手动设置?然后在请求完成时手动将其设置为false?有时候,这些有棱角的东西是有魔力的,我不确定是否有额外的事情发生在后端来处理这些东西


只要举一个简单的例子说明如何在typeahead加载中使用该值就好了。我就是想不出如何正确地使用它。当然,对于一些更复杂的特性,很多Angle文档都缺乏很好的示例。

在我看来,文档在这方面并不是很清楚:“绑定到变量[…]”。因此,您只需在当前范围中指定一个变量,该变量将在查找运行时设置为true。下面是一个非常愚蠢的例子,只是为了说明发生了什么:

function MainController($scope) {
  $scope.lookup = function() {
    console.log("isLoading is " + $scope.isLoading);
    return [];
  }
}

<div ng:controller="MainController">
  <input type="text" ng:model="search"
    typeahead="result for result in lookup($viewValue)"
    typeahead-loading="isLoading"></input>
  isLoading: {{isLoading}}
</div>
功能主控制器($scope){
$scope.lookup=函数(){
log(“isLoading是”+$scope.isLoading);
返回[];
}
}
isLoading:{{isLoading}}
如果运行此命令并在搜索中键入内容,您将注意到输出为“isLoading:false”。但是,在javascript控制台上,您将看到,当lookup函数运行时,$scope.isLoading被设置为true

因此,只需通过typeahead加载在您的作用域中指定一个变量,然后您就可以执行如下操作:

<div ng:show="!!isLoading">loading...</div>
正在加载。。。

无需执行函数(无论如何,我不需要):


嘿,我在装货!

谢谢,现在事情变得更有意义了。很好的例子这不是从技术上回答你的问题,而是一个完全不同的方法的建议。我真的不喜欢使用外部微调器/div/span/etc。我更喜欢只使用占位符=“{someScopeVar}}”和typeahead on select=“onSelect($item,$model,$label)”在typeahead输入标记中,在控制器中将$scope.someScopeVar初始化为“loading…”,然后使用onSelect函数将$scope.someScopeVar更改为常规占位符文本,如“按名称搜索”。我明白了,您只是使用函数打印到控制台?
<input ng-model="search" typeahead="result for result in lookup($viewValue)"
    typeahead-loading="is_loading">

<!-- change class (or something) when lookup is loading -->
<span ng-class="{'loading-class': is_loading}">Hey, I'm loading!</span>