2014-10-03 16 views
5

Tôi đã tạo một phần tử ng-bind trong mẫu của tôi, hiển thị số được làm tròn bởi một số thập phân. Làm cách nào để thêm một số % vào cuối, từ trong logic ng-bind?AngularJS ng-ràng buộc cần hiển thị biến + "chuỗi"

Mã của tôi:

<span ng-bind="variable | number: 1" 
     class="animated" ng-show="variable" 
     ng-class="{'fadeIn':variable}"></span> 

Kết quả trong (ví dụ) 4.5 nhưng tôi muốn nó được 4.5%.

Vấn đề là tôi muốn thêm % ký tự vào cuối, nhưng làm cách nào? Tôi không muốn thêm khoảng thứ hai, với cùng một logic, chỉ cho một ký tự đó và ng-bind="variable + '%' | number: 1" không hoạt động. Tôi cũng muốn tránh thêm mã trong bộ điều khiển của tôi/chỉ thị, vì tôi nghĩ rằng đây là một điều mẫu hơn (và tôi chỉ cần sử dụng nó chỉ là một vài lần).

+1

Bạn có thể sử dụng nội suy ' {{variable | số: 1}}% 'hoặc tạo/sử dụng bộ lọc tỷ lệ phần trăm ... hoặc tạo bộ lọc tùy chỉnh làm chỉ số làm tròn và thêm phần trăm .. Làm thế nào về' ng-bind = "(biến | số: 1) + '%' "' – PSL

+0

Hai đề xuất đầu tiên là một chút 'quá mức cần thiết', vì tôi chỉ cần 3-4 lần trong toàn bộ dự án của tôi. Nhưng điều cuối cùng bạn nói là chính xác những gì tôi muốn. hoạt động tốt. Cảm ơn. Bạn có thể gửi nó như là câu trả lời btw, vì vậy tôi có thể đánh dấu nó như vậy. –

+0

Nếu bạn làm điều đó trong 'ng-bind' hoặc sử dụng nội suy ... không có quá mức cần thiết, cả hai đều gần như giống nhau. bằng cách sử dụng các bộ lọc có, nếu bạn không cần phải làm những thứ phức tạp hơn trên đó. – PSL

Trả lời

13

Vấn đề là bạn đang kích hoạt số không hợp lệ cho bộ lọc số. Thay vào đó, bạn có thể di chuyển thêm phần trăm vào cuối sau khi bộ lọc số được thực hiện.

<span ng-bind="(variable | number: 1) + '%'" 
    class="animated" ng-show="variable" 
    ng-class="{'fadeIn':variable}"></span> 

Hoặc sử dụng nội suy

<span class="animated" ng-show="variable" ng-class="{'fadeIn':variable}">{{variable | number: 1}}%</span> 

Demo

Hoặc thậm chí bạn có thể tạo ra một bộ lọc mà thực hiện làm tròn số và bổ sung % và chỉ sử dụng bộ lọc đó, hoặc một bộ lọc tùy chỉnh để thêm phần trăm (Chỉ cần đảm bảo rằng nó không phải là quá mức cần thiết, trừ khi bạn cần thực hiện ở nhiều nơi).

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