Что такое $ viewValue в AngularJS BootstrapUI Typeahead?

Я пытаюсь реализовать typeahead в Angular, используя http://angular-ui.github.io/bootstrap/

Кажется, это должно быть легко, но я получаю следующую ошибку:

Глобальный символ $viewValue требует явного имени пакета.

Что такое $viewValue? Вроде не определено.

Спасибо


person stampeder    schedule 24.07.2013    source источник


Ответы (1)


вот рабочий пример напечатанного текста:

<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 - текущее значение в представлении - ваш строковый ввод. $viewValue указан в ngModel.

person alfrescian    schedule 24.07.2013
comment
Хорошо, я исправил свою проблему - ошибка была связана с тем, что я пишу свою страницу на perl, и мне нужно было избежать переменной $ viewValue. Однако я до сих пор не понимаю, почему его $ viewValue не «выбран» в фильтре - как в директиве ng-model? $ ViewModel как-то экспортируется из директивы? - person stampeder; 25.07.2013
comment
selected - это значение, которое выбирается из значений typeahead. $ viewValue - это текущая строка вашего ввода. $ viewValue является частью ngModel: docs.angularjs.org/api/ng.directive : ngModel.NgModelController - person alfrescian; 25.07.2013
comment
А, хорошо - спасибо за это и за быстрый ответ. Также я использую массив объектов, представляющих адреса, а не простой массив, и хочу заполнить другое поле почтовым индексом, когда я нажимаю полный адрес в заголовке. Это возможно? Я смотрю на ng-change, но безуспешно - jsfiddle.net/UxTBB - person stampeder; 25.07.2013
comment
просто откройте новый вопрос ... ваш jsfiddle по-прежнему такой же, как мой - person alfrescian; 25.07.2013