在AngularJS BootstrapUI Typeahead中,$ viewValue是什么?

sta*_*der 35 typeahead angularjs angular-ui-bootstrap

我正在尝试使用http://angular-ui.github.io/bootstrap/在Angular中实现一个typeahead

看起来应该很容易,但我收到以下错误:

全局符号$viewValue需要显式包名称.

什么是$viewValue?似乎没有定义.

谢谢

alf*_*ian 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>
Run Code Online (Sandbox Code Playgroud)

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

$viewValue是视图中的当前值 - 您的字符串输入. $viewValuengModel.中指定.

  • selected是从typeahead值中选择的值.$ viewValue是输入的当前字符串.$ viewValue是ngModel的一部分:http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController (5认同)