在我看來,這個文檔並不是很不清楚:「綁定到一個變量[...]」。因此,您只需在當前範圍中指定一個變量,並在查詢運行時將其設置爲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:假」。但是,在JavaScript控制檯上,您會看到在查找函數運行時,$ scope.isLoading被設置爲true。
所以只需指定與預輸入加載您的作用域的變量,然後你可以做這樣的事情:
<div ng:show="!!isLoading">loading...</div>
這不是在技術上和您的問題的答案,而是一個完全不同的方法的建議。我真的不喜歡使用外部微調器/ div/span /等。我更喜歡在typeahead輸入標記中使用placeholder =「{{someScopeVar}}」和typeahead-on-select =「onSelect($ item,$ model,$ label)」,將$ scope.someScopeVar初始化爲「loading .. 。「在控制器中,然後使用onSelect函數將$ scope.someScopeVar更改爲常規佔位符文本,如」按名稱搜索「。 –