Hướng dẫn angular set innerhtml from typescript - đặt góc bên tronghtml từ bản thảo

Làm thế nào để sử dụng InnerHTML từ mã TypeScript với Angular 2 RC4? Tôi có vấn đề này: Khi người dùng nhấp vào một nút cụ thể, tôi muốn thêm một số mã HTML được biên dịch trước. Ví dụ:

Mã bản thảo

private addHTML() {
    // the html go there I suppose, I don't know how to implement this part
}

Mã HTML


Hoặc có thể đây là một cách sai. Hãy cho tôi biết, cảm ơn trước.

Được hỏi ngày 17 tháng 9 năm 2016 lúc 22:38Sep 17, 2016 at 22:38

Hướng dẫn angular set innerhtml from typescript - đặt góc bên tronghtml từ bản thảo

Daniel Zarioiudaniel ZarioiuDaniel Zarioiu

1151 Huy hiệu vàng4 Huy hiệu bạc9 Huy hiệu đồng1 gold badge4 silver badges9 bronze badges

Một cái gì đó như thế này có thể:

htmlYouWantToAdd;

private addHTML() {
    this.htmlYouWantToAdd = "Some HTML you want to display";
}

Và HTML của bạn:


Đã trả lời ngày 17 tháng 9 năm 2016 lúc 23:13Sep 17, 2016 at 23:13

Hướng dẫn angular set innerhtml from typescript - đặt góc bên tronghtml từ bản thảo

Stefan Svrkotastefan SvrkotaStefan Svrkota

46.8K8 Huy hiệu vàng96 Huy hiệu bạc87 Huy hiệu đồng8 gold badges96 silver badges87 bronze badges

3

Giới thiệu

Angular 2+ hỗ trợ một liên kết thuộc tính [innerHTML] sẽ hiển thị HTML. Nếu bạn sử dụng phép nội suy, nó sẽ được coi là một chuỗi.

Trong bài viết này, bạn sẽ được trình bày cách sử dụng [innerHTML] và một số cân nhắc cho việc sử dụng.

Điều kiện tiên quyết

Nếu bạn muốn theo dõi cùng với bài viết này, bạn sẽ cần:

  • Một số quen thuộc với nội suy góc và liên kết tài sản cũng có thể hữu ích.

Bước 1 - Sử dụng innerHTML

Với mục đích của bài viết này, giả sử bạn đang làm việc với một thành phần có chứa


0 bao gồm hỗn hợp các thực thể và yếu tố HTML và các yếu tố HTML:

export class ExampleComponent {
  htmlStr: string = 'Plain Text Example & Bold Text Example';
}

Hãy cùng xem xét một mẫu sử dụng phép nội suy trên chuỗi này:

<div>{{ htmlStr }}div>

Sau khi biên dịch, mã này sẽ tạo ra kết quả:

Ví dụ văn bản đơn giản & amp; Ví dụ văn bản táo bạo

Các thực thể HTML và các yếu tố HTML không được hiển thị.

Bây giờ, hãy để xem xét một mẫu sử dụng thuộc tính [innerHTML] ràng buộc trên chuỗi này:

<div [innerHTML]="htmlStr">div>

Sau khi biên dịch lại, mã này sẽ tạo ra kết quả:

Ví dụ văn bản đơn giản & ví dụ văn bản táo bạoBold Text Example

Quan sát rằng các thực thể HTML và các yếu tố HTML được hiển thị.

Bước 2 - Hiểu những hạn chế

Kết xuất HTML thường có khả năng giới thiệu kịch bản trang web chéo (XSS). HTML được kết xuất có thể chứa các tập lệnh độc hại trình bày một vấn đề bảo mật.

Một phương pháp giải quyết XSS là bằng cách hạn chế các loại phần tử và thuộc tính HTML cho một tập hợp các phần tử và thuộc tính an toàn đã biết.

Đằng sau.

Lưu ý: Danh sách đầy đủ các phần tử và thuộc tính HTML được phê duyệt có thể được quan sát trong


4. The full list of approved HTML elements and attributes can be observed in

4.

Điều này sẽ hạn chế các giá trị [innerHTML] của bạn sử dụng các thẻ


6 và

7 và các thuộc tính

8. Hãy ghi nhớ giới hạn này khi chọn sử dụng [innerHTML].

Sự kết luận

Trong bài viết này, bạn đã được giới thiệu về ràng buộc tài sản [innerHTML] trong Angular 2+. Nó sẽ dẫn đến việc hiển thị đánh dấu HTML có trong một chuỗi.

Nếu bạn muốn tìm hiểu thêm về Angular, hãy xem trang chủ đề Angular của chúng tôi cho các bài tập và các dự án lập trình.

Làm thế nào sử dụng bên trong với thẻ div?

Để sử dụng thuộc tính bên trong, trước tiên hãy chọn phần tử (div) nơi bạn muốn nối bộ mã. Sau đó, hãy thêm mã được đặt dưới dạng các chuỗi sử dụng toán tử += trên bên trong. Ví dụ: HTML.first select the element (div) where you want to append the code. Then, add the code enclosed as strings using the += operator on innerHTML. Example: html.

Có an toàn khi sử dụng InnerHtml trong góc không?

Hãy chắc chắn rằng với tư cách là một nhà phát triển, bạn đang theo dõi cách góc cạnh của người Hồi giáo và các thực tiễn tốt nhất của nó để bảo vệ bạn khỏi XSS.Ví dụ: điều này có nghĩa là bạn không nên sử dụng InternalHTML, không bao giờ sử dụng các mẫu được tạo bằng cách kết hợp đầu vào của người dùng và không bao giờ sử dụng API DOM gốc để tương tác với các phần tử HTML.you shouldn't use innerHTML, never use templates generated by concatenating user input, and never use native DOM APIs to interact with HTML elements.

Sự khác biệt giữa nội dung nội suy và bên trong là gì?

Sự khác biệt chính giữa mã nội suy và bên trong là hành vi của mã được giải thích.Nội dung nội suy luôn được thoát, tức là, HTML không được giải thích và trình duyệt hiển thị giá đỡ góc trong nội dung văn bản của phần tử.the behavior of code interpreted. Interpolated content is always escaped i.e, HTML isn't interpreted and the browser displays angle brackets in the element's text content.

Chúng ta có thể sử dụng tài liệu GetEuityByid trong Angular không?

Để sử dụng tài liệu.phương thức getEuityById () trong TypeScript: Sử dụng xác nhận loại để nhập chính xác phần tử đã chọn.Sử dụng bảo vệ loại để đảm bảo biến không lưu trữ giá trị null.Use a type assertion to type the selected element correctly. Use a type guard to make sure the variable does not store a null value.