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