2014-11-20 48 views
9

Hey Tôi mới đến js góc, Vì vậy, tôi đã đi qua các tài liệu js.org góc để thực hiện một chỉ thị tùy chỉnh. Tôi muốn biết sự khác biệt cơ bản giữa transclude và thay thế. Tôi đã thấy vài ví dụ trong đó họ đã sử dụng transclude: true và replace: true cho một chỉ thị tùy chỉnh.Sự khác biệt cơ bản Giữa transclude: true và thay thế: true trong Angular Js

Xin lỗi nếu đó là câu hỏi cơ bản trong js góc. Chỉ cần làm cho những điều cơ bản của tôi rõ ràng.

+0

Bạn có thể thêm ít nhất một trong những ví dụ? – Pavlo

+0

@Pavlo: Tôi đang đề cập đến liên kết này: http://angular-tips.com/blog/2014/03/transclusion-and-scopes/ –

Trả lời

17

Khi bạn sử dụng transclude, bạn bao gồm mọi html có sẵn bên trong các thẻ tùy chỉnh trên trang của mình. Ví dụ, nếu bạn có:

<person><p>some text</p></person> 

tag đoạn sẽ được đưa vào nơi mà bạn có:

template: '<div ng-transclude></div>', 

nên đầu ra của bạn để trang sẽ đọc:

<div><p>some text</p></div> 

Thay thế: true chỉ có nghĩa là đầu ra trong mẫu của bạn hoàn toàn thay thế html trên trang của bạn. Vì vậy, bạn sẽ không còn nhìn thấy các thẻ (ví dụ nếu bạn nhìn vào mã nguồn html). Nếu bạn không sử dụng repace: true, những gì bạn nhìn thấy trên màn hình là như nhau, nhưng nếu bạn nhìn vào đầu ra html của bạn, bạn sẽ thấy thông tin về các thẻ của riêng bạn.

Nếu không có thay thế đầu ra html sẽ là:

<person class="ng-isolate-scope"><div ng-transclude=""><p class="ng-scope">some text</p></div></person> 

Với thay thế đầu ra html sẽ là:

<div ng-transclude="" class="ng-isolate-scope"><p class="ng-scope">some text</p></div> 
+0

Cảm ơn bạn thân, câu trả lời rõ ràng là ... –

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