2013-07-24 3 views
33

私はhttp://angular-ui.github.io/bootstrap/

を使用して角度で先行入力を実装しようとしているらしいが、私は次のエラーを取得しています:

Global symbol $viewValue requires explicit package name.

$viewValueは何?それは定義されていないようです。ここ

おかげ

答えて

24

は働い先行入力例です。

<div class="container"> 
    <div ng-controller="mainCtrl" class="row-fluid"> 
     <form class="row-fluid"> 
      <div class="container-fluid"> 
       <input type="text" ng-model="selected" typeahead="state for state in states | filter:$viewValue" /> 
      </div> 
     </form> 
    </div> 
</div> 

<script> 
angular.module('myApp', ['ui.bootstrap']) 
.controller("mainCtrl", function ($scope) { 
    $scope.selected = ''; 
    $scope.states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Dakota', 'North Carolina', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming']; 
}); 
</script> 

http://jsfiddle.net/alfrescian/ZjPWe/

$viewValueは、ビュー内の現在の値である - あなたの文字列を入力。 $viewValuengModelで指定されています。

+0

私の問題を修正しました。エラーは私のページをperlで書いているので、$ viewValue varからエスケープする必要がありました。しかし、私はまだ実際にはなぜその$ viewValueを取得せず、フィルタで '選択'していません - ng-modelディレクティブのように? $ viewModelはディレクティブから何らかの形でエクスポートされていますか? – stampeder

+5

が選択されている場合は、先読み値から選択された値です。 $ viewValueはあなたの入力の現在の文字列です。 $ viewValueはngModelの一部です:http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController – alfrescian

+0

ああ、ありがとうございました。また、単純な配列ではなくアドレスを表すオブジェクトの配列を使用しています。タイプオーバーで完全なアドレスをクリックすると、別のフィールドに郵便番号を入力したいのです。これは可能ですか?私は変更を見ていますが、成功していません - http://jsfiddle.net/UxTBB/ – stampeder

関連する問題