đây là một ví dụ typeahead làm việc:
<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
là giá trị hiện trong giao diện - đầu vào chuỗi của bạn. $viewValue
được chỉ định trong ngModel
.
Ok tôi đã khắc phục sự cố của mình - lỗi là vì tôi đang viết trang của mình bằng perl và tôi cần phải thoát khỏi $ viewValue var. Tuy nhiên tôi vẫn không thực sự hiểu tại sao $ viewValue của nó và không được 'chọn' trong bộ lọc - như trong chỉ thị ng-model? Là $ viewModel được xuất khẩu từ chỉ thị bằng cách nào đó? – stampeder
được chọn là giá trị được chọn từ giá trị typeahead. $ viewValue là chuỗi đầu vào hiện tại của bạn. $ viewValue là một phần của ngModel: http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController – alfrescian
Ah, ok - cảm ơn vì điều đó và trả lời nhanh. Ngoài ra tôi đang sử dụng một mảng các đối tượng - đại diện cho các địa chỉ thay vì một mảng đơn giản - và tôi muốn điền một trường khác với mã bưu điện khi tôi nhấp vào địa chỉ đầy đủ trong typeahead. Điều này có thể không? Tôi đang xem ng-thay đổi, nhưng không có thành công- http://jsfiddle.net/UxTBB/ – stampeder