2016-02-06 17 views
7

CẬP NHẬT: Cả hai cách từ Chris và Mark đều hoạt động.Làm cách nào để hiển thị hai không gian liên tục trong Angular 2?

Tôi đang sử dụng Góc 2. Tôi cố gắng hiển thị hai khoảng cách liên tục giữa a và b trong trang. Tôi đã thử tất cả những thứ này. Nhưng không ai trong số họ hoạt động.

{{text}} 

text = "a\00a0\00a0b"; 
text = `a\00a0\00a0b`; 
text = "a  b"; 
text = `a  b`; 
text = "a b"; 
text = `a b`; 

Tôi làm cách nào để hoạt động? Cảm ơn.

+0

Sử dụng ng-bind-html thay vì ng-bind. Kiểm tra [bài đăng trước] này (http://stackoverflow.com/questions/19264586/escaping-characters-in-ng-bind-in-angularjs). – mstewart

+2

@mstewart, đó là một giải pháp cho AngularJS. Câu hỏi này là về Góc (2). –

Trả lời

9

Bind để sở hữu DOM innerHTML thay vì sở hữu DOM textContent (đó là những gì {{}} liên kết với):

<span [innerHTML]="text"></span> 

text = "a&nbsp;&nbsp;b"; 
5

Tôi tin rằng bạn đang nhận được điều này vì bản chất của không gian html tước.

Bạn có thể sử dụng thuộc tính css white-space: pre trên bất kỳ phần tử nào bạn đang hiển thị văn bản đó.

function MyCtrl($scope) { 
    $scope.text = 'a  b'; 
} 
... 
<p style="white-space: pre">{{text}}</p> 

Tôi không biết nhiều về ứng dụng của bạn, nhưng có lẽ điều này là đủ.

Demo

+0

Nhưng anh ta nói anh ta đã thử ' ' s, không bị tước bởi HTML. –

+0

Đó là những gì tôi nghĩ là tốt, cho đến khi tôi thử nó tại địa phương. Ở trên là chỉ có tôi đã làm việc. Nó có thể đủ cho OP, vì vậy giá trị cố gắng tôi giả sử. – Chris

+0

Đủ công bằng. Bạn có thể muốn hiển thị giá trị được gán cho 'văn bản', vì vậy mọi người không phải nhấp qua bản trình diễn. –

0

sử dụng '&#160;' thay vì '&nbsp;' trong mẫu.

+0

Điều này không cung cấp câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ tác giả, hãy để lại nhận xét bên dưới bài đăng của họ. - [Từ đánh giá] (/ đánh giá/bài đăng chất lượng thấp/17701569) – henser

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