2013-01-09 27 views
7

Khi ràng buộc giá trị đầu vào cho một ng-mô hình như vậy:Trong góc, làm thế nào để có hiệu quả tách các mặt hàng đầu vào một mảng

<input type="text" ng-model="array"> 

làm thế nào để liên kết văn bản đầu vào như một mảng? Vì vậy, nếu tôi nhập one, two, three, mô hình kết quả sẽ là [ "one","two","three ].

Ngay bây giờ đây là cách tôi đang đạt được điều này:

<input type="text" ng-model="string" ng-change="convertToArray()"> 

Và trong bộ điều khiển của tôi:

$scope.convertToArray = function(){ 
    $scope.array = $scope.string.split(','); 
} 

Nó hoạt động tốt nhưng tôi không nghĩ đó là cách tốt nhất vì tôi tạo một biến số $scope.string và sau đó mã hóa cứng mảng đích.

Có thể chỉ cần đặt mô hình của đầu vào thành mảng và sau đó có đầu vào đi qua hàm trước khi bị ràng buộc với phạm vi không?

Trả lời

20

ngList sẽ làm chính xác những gì bạn muốn.

Nhập văn bản chuyển đổi giữa chuỗi được phân tách bằng dấu phẩy thành một chuỗi các chuỗi.

0

Không. Vì đầu vào của bạn sẽ là một chuỗi từ người dùng, bạn cần phải chuyển đổi thủ công chuỗi đó thành mảng hoặc bất kỳ định dạng nào khác.

Thảo luận tương tự và cách tiếp cận khác được thảo luận tại đây. có lẽ điều này có thể hữu ích. (Xem câu trả lời được chấp nhận trong này)

How do I set the value property in AngularJS' ng-options?

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