2013-07-24 18 views
33

Tôi đang cố gắng để thực hiện một typeahead trong góc bằng http://angular-ui.github.io/bootstrap/

Có vẻ như nó phải là dễ dàng, nhưng tôi nhận được lỗi sau:

Global symbol $viewValue requires explicit package name.

$viewValue là gì? Nó dường như không được xác định.

Cảm ơn

Trả lời

24

đâ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.

+0

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

+5

đượ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

+0

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

Các vấn đề liên quan