所以我似乎无法弄清楚如何使用typeahead-loading属性显示一个微调器,而我的头脑正在获取远程数据.我在任何地方找不到任何示例.
当我们开始发出请求时,这个值是否需要在范围内手动设置?然后在请求完成时手动将其设置为false?有时这些有角度的东西有魔法,我永远不会确定后端是否有额外的东西来处理这些东西.
只是一个简单的例子,如何使用在头文件加载的值将是不错的.我只是想不到如何正确使用它.当然,大多数角度文档对于一些更复杂的功能来说没有很好的例子.
解决方法
在我看来,文档不是不清楚的:“绑定到变量[…]”.因此,您只需在当前范围内指定一个变量,该变量将在查找运行时设置为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>
如果你运行它并在搜索中输入一些东西,你会注意到输出是“isLoading:false”.但是,在javascript控制台上,您将看到在查找功能正在运行时,$scope.isLoading设置为true.
所以只需要在你的作用域中指定一个变量,然后你可以这样做:
<div ng:show="!!isLoading">loading...</div>