2013-07-24 34 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在視圖中的當前值 - 你的字符串輸入。在ngModel中指定了$viewValue

+0

好吧我解決了我的問題 - 錯誤是因爲我在perl中編寫我的頁面,我需要轉義$ viewValue var。然而,我仍然沒有真正明白爲什麼它的$ viewValue和過濾器中的「未選中」 - 就像在ng-model指令中一樣?以某種方式從指令中導出$ viewModel? – stampeder

+5

selected是從typeahead值中選擇的值。 $ viewValue是你輸入的當前字符串。 $ viewValue是ngModel的一部分:http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController – alfrescian

+0

嗯,好的 - 謝謝你的回覆。此外,我使用的是對象數組 - 代表地址而不是簡單的數組 - 我想在單擊前面的完整地址時使用郵編填充另一個字段。這可能嗎?我在看ng-change,但沒有成功 - http://jsfiddle.net/UxTBB/ – stampeder