2016-10-13 18 views
2

私は、角度の先例があります。ここに私が作成したplunkrへのリンクがあります。 https://plnkr.co/edit/8XwhSXsZlyd0oKSljS9t?p=preview角度uib先頭、先読みは開いていません

私はすでに先読み型のプロパティを使用しています。

私が望むのは、uib-typeaheadをクリックして開き、すべての値を表示することです。私はこのタイプの仕事を真実に設定していると仮定しています。これは正しいです?現時点では、typeahead-is-openをtrueに設定しても先読みは開きません。ここで

は私のhtml

<input ng-click = "myFunc()" click-outside="typeaheadIsOpen = false;" type="text" ng-model="selected" uib-typeahead="state for state in states | filter:$viewValue | limitTo:8" typeahead-is-open="typeaheadIsOpen" class="form-control"> 

私のJS

$scope.myFunc = function() { 
    $timeout(function() { 
     $scope.typeaheadIsOpen = true; 
     $scope.$digest(); 
    }) 
} 

である私は、先行入力が-あるオープン "typeaheadIsOpen" 変数にバインドされています。先読みをクリックすると、myFuc()が呼び出され、変数typeaheadIsOpenがtrueに設定されます。

しかし先読みは開きません。私が間違っていることはありますか?

答えて

4

typeahead-is-open属性を使用して、先読みポップアップを表示するかどうかを制御できないようです。ここでは、ソースコードから関連する部分がある:

UibTypeaheadController

//binding to a variable that indicates if dropdown is open 
var isOpenSetter = $parse(attrs.typeaheadIsOpen).assign || angular.noop; 
... 
scope.assignIsOpen = function (isOpen) { 
    isOpenSetter(originalScope, isOpen); 
}; 

この属性は、先行入力が開いているときにスコープを更新するために使用される式を取得するために使用されますが、範囲から値を取得するために使用されておらず、関連するウォッチャーは設定されていません。

関連する問題