angular-ui typeahead ディレクティブと ng-switch を使用しています。目的は、先行入力ボックスがキー入力されると、「個人情報」で始まる行が表示されることです。そうしないと表示されません。問題は、この行が常に表示されることです。
ここでプランカーを作成しました。 http://plnkr.co/edit/qEaYE6BHjmMewmlheFoh
関連するコード セグメントは次のとおりです。HTML;
<div class='container-fluid' ng-controller="TypeaheadCtrl">
<h4>Static arrays</h4>
<!-- <pre>Model: {{selected }}</pre>
<pre>Model: {{selected.name}} {{selected.id}}</pre> -->
<div ng-switch="selected.name">
<div ng-switch-when="" >
<BR><BR>
</div>
<div ng-switch-default >
<pre>Person info: {{selected.name}} {{selected.id}}</pre>
</div>
</div>
<input type="text" ng-model="selected"
typeahead="person as person.name for person in person_info | filter:{name:$viewValue} | limitTo:8"
class="form-control">
</div>
Javascript コントローラー:
var person_info = [
{
"name": "Tom",
"id": "111"
},
{
"name": "Sam",
"id": "222"
},
{
"name": "James",
"id": "333"
}
];
$scope.person_info = person_info;