2014-04-15 16 views
5

Trong angularJS, tôi có một trường đầu vào liên kết với ng-model, có một cái gì đó hiển thị nếu đầu vào không rỗng.tại sao angularJS xử lý không gian trống?

<input id="name" type="text" ng-model="typeSignature" placeholder="Type your name here"> 
<div ng-show="typeSignature==''"> Something</div> 

Khi tôi nhấn phím cách, boolean typeSignature=='' vẫn đúng. Tuy nhiên, trong jQuery, boolean $('#name').val() == '' sẽ là false nếu tôi đã nhấn dấu cách.

Tại sao angularJS xử lý không gian khác nhau? Làm thế nào tôi có thể làm cho jQuery val() chức năng phù hợp với anguLarJS, cụ thể là điều trị không gian trống rỗng?

+0

Bạn có thể hiển thị hàm 'name()' không? Có lẽ nó biến đổi 'typeSignature'? – CodingIntrigue

+0

Cố gắng tìm cách để thực hiện giải pháp của bạn trong Góc mà không cần sử dụng jQuery - có thể là có thể và đáng tin cậy hơn so với trộn hai khung công tác. – Blazemonger

+1

'$ .trim ($ (" # name "). Val())' –

Trả lời

9

Hành vi mặc định của góc là cắt giá trị mô hình. Vì vậy, nếu bạn muốn nghe không gian trong mô hình, bạn có thể đặt cờ ng-trim = "false"

<input ng-model="test" ng-trim="false"/> 
+0

Điều này giải thích tốt. Cảm ơn – 9blue

+3

Nếu nó giúp giải quyết vấn đề của bạn, vui lòng chấp nhận câu trả lời :);) – Sai

+1

[Tài liệu cho đầu vào văn bản] (http://docs.angularjs.org/api/ng/input/input%5Btext%5D) – Blazemonger

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