Sự khác biệt giữa các yếu tố Polyme và chỉ thị AngularJS là gì?


524

Trên trang Polyme Bắt đầu , chúng tôi thấy một ví dụ về Polyme đang hoạt động:

<html>
  <head>
    <!-- 1. Shim missing platform features -->
    <script src="polymer-all/platform/platform.js"></script>
    <!-- 2. Load a component -->
    <link rel="import" href="x-foo.html">
  </head>
  <body>
    <!-- 3. Declare the component by its tag. -->
    <x-foo></x-foo>
  </body>
</html>

Những gì bạn sẽ nhận thấy đang <x-foo></x-foo>được xác định bởi platform.jsx-foo.html.

Có vẻ như đây là tương đương với một mô-đun chỉ thị trong AngularJS:

angular.module('xfoo', [])
.controller('X-Foo', ['$scope',function($scope) {
    $scope.text = 'hey hey!';
})
.directive('x-foo', function() {
    return {
        restrict: 'EA',
        replace: true,
        controller: 'X-Foo',
        templateUrl: '/views/x-foo.html',
        link: function(scope, controller) {
        }
    };
});
  • Sự khác biệt giữa hai là gì?

  • Polyme giải quyết vấn đề gì mà AngularJS không có hoặc không có?

  • Có kế hoạch nào để gắn polymer với AngularJS trong tương lai không?


Thông tin sử dụng ở đây 2ality - Vai trò của AngularJS và Polyme
LCJ

Câu trả lời:


520

Bạn không phải là người đầu tiên đặt câu hỏi này :) Hãy để tôi làm rõ một vài điều trước khi nhận được câu hỏi của bạn.

  1. Polymer của webcomponents.jslà một thư viện chứa nhiều polyfills cho API W3C khác nhau mà rơi dưới sự bảo trợ Web Components. Đó là:

    • Yếu tố tùy chỉnh
    • Nhập khẩu HTML
    • <template>
    • Bóng DOM
    • Sự kiện con trỏ
    • khác

    Điều hướng bên trái trong tài liệu ( polymer-project.org ) có một trang cho tất cả các "Công nghệ nền tảng" này. Mỗi trang trong số đó cũng có một con trỏ tới polyfill riêng lẻ.

  2. <link rel="import" href="x-foo.html">là một nhập HTML. Nhập khẩu là một công cụ hữu ích để bao gồm HTML trong các HTML khác. Bạn có thể bao gồm <script>, <link>đánh dấu hoặc bất cứ điều gì khác trong một lần nhập.

  3. Không có gì "liên kết" <x-foo>đến x-foo.html. Trong ví dụ của bạn, nó giả định định nghĩa Thành phần tùy chỉnh của <x-foo>(ví dụ <element name="x-foo">) được xác định trong x-foo.html. Khi trình duyệt thấy định nghĩa đó, nó đã được đăng ký như là một yếu tố mới.

Về câu hỏi!

Sự khác biệt giữa Angular và polymer là gì?

Chúng tôi đã đề cập đến một số điều này trong video Q & A của chúng tôi . Nói chung, Polymer là một thư viện nhằm mục đích sử dụng (và chỉ ra cách sử dụng) Các thành phần Web. Nền tảng của nó là các yếu tố tùy chỉnh (ví dụ: mọi thứ bạn xây dựng là một thành phần web) và nó phát triển khi web phát triển. Cuối cùng, chúng tôi chỉ hỗ trợ phiên bản mới nhất của các trình duyệt hiện đại.

Tôi sẽ sử dụng hình ảnh này để mô tả toàn bộ chồng kiến ​​trúc của Polymer:

nhập mô tả hình ảnh ở đây

Lớp ĐỎ: Chúng tôi có được web của ngày mai thông qua một tập hợp các polyfill. Hãy nhớ rằng, các thư viện đó sẽ biến mất theo thời gian khi các trình duyệt áp dụng API mới.

Lớp VÀNG: Rắc một ít đường bằng polymer.js. Lớp này là ý kiến ​​của chúng tôi về cách sử dụng các API cụ thể cùng nhau. Nó cũng bổ sung những thứ như liên kết dữ liệu, đường tổng hợp, người theo dõi thay đổi, thuộc tính được công bố ... Chúng tôi nghĩ rằng những điều này hữu ích để xây dựng các ứng dụng dựa trên thành phần web.

XANH: Tập hợp toàn diện các thành phần UI (lớp màu xanh lá cây) vẫn đang được tiến hành. Đây sẽ là các thành phần web sử dụng tất cả các lớp màu đỏ + vàng.

Chỉ thị góc so với các yếu tố tùy chỉnh?

Xem câu trả lời của Alex Russell . Về cơ bản, Shadow DOM cho phép soạn các bit của HTML nhưng cũng là một công cụ để đóng gói HTML đó. Đây về cơ bản là một khái niệm mới trên web và một số khung công tác khác sẽ tận dụng.

Polyme giải quyết vấn đề gì mà AngularJS không có hoặc không có?

Điểm tương đồng: mẫu khai báo, ràng buộc dữ liệu.

Sự khác biệt: Angular có API cấp cao cho các dịch vụ, bộ lọc, hình động, v.v., hỗ trợ IE8 và tại thời điểm này, là một khung mạnh mẽ hơn nhiều để xây dựng các ứng dụng sản xuất. Polyme chỉ mới bắt đầu trong alpha.

Có kế hoạch nào để gắn polymer với AngularJS trong tương lai không?

Chúng là những dự án riêng biệt . Điều đó nói rằng, cả hai nhóm Angular và Ember đều tuyên bố cuối cùng họ sẽ chuyển sang sử dụng các API nền tảng cơ bản trong các khung riêng của họ.

^ Đây là một IMO thắng lớn. Trong một thế giới nơi các nhà phát triển web có các công cụ mạnh mẽ (Shadow DOM, Custom Elements), các tác giả khung cũng có thể sử dụng các nguyên thủy này để tạo ra các khung tốt hơn. Hầu hết trong số họ hiện đang trải qua những vòng quay tuyệt vời để "hoàn thành công việc".

CẬP NHẬT:

Có một bài viết thực sự tuyệt vời về chủ đề này: " Đây là sự khác biệt giữa Polyme và Angular "


46
Điểm quan trọng ở đây, đó là Polyme về việc đưa Web như chúng ta biết về phía trước, cụ thể bằng cách chỉ ra cách các Thành phần Web có thể làm cho Web mở, có thể chia sẻ và mở rộng. AngularJS (và Ember cho vấn đề đó) là về việc tạo một khung làm việc tận dụng các phần tốt nhất của trình duyệt để tạo các ứng dụng đáp ứng. Khi các Thành phần Web được các trình duyệt hỗ trợ tốt hơn, Angular và các khung công tác khác có thể dựa trên chúng, để làm cho mã khung nhỏ hơn và các ứng dụng đơn giản hơn. Đó là lý do tại sao nó là Win-Win cho tất cả.
Schmuli

31
Tôi vẫn không hiểu sự khác biệt thực tế giữa các yếu tố tùy chỉnh polymer và chỉ thị góc là gì? Tại sao tôi nên sử dụng các yếu tố tùy chỉnh polymer thay vì chỉ thị góc trong dự án Angular?
ronag

3
Vì vậy, các dự án Angular và Ember hiện tại cuối cùng sẽ được hưởng lợi từ việc sử dụng các API nền tảng cơ bản. Nhưng khi các Thành phần Web được hỗ trợ tốt hơn bởi các trình duyệt, liệu sẽ có bất kỳ lợi ích nào trong việc sử dụng Angular cho các dự án mới hay nó thực sự trở nên dư thừa?
bánh kếp

8
Tôi nghĩ làm cho nó thành màu đen và trắng: gắn bó với AngularJS cho các công cụ sản xuất và chơi với polymer trong thời gian rảnh rỗi để bạn sẽ quen với nó khi đến lúc.
thdoan

31
Đây là một tổng quan đẹp về polymer.js nhưng không có cách nào trả lời câu hỏi kỹ lưỡng ...
Christoph

57

Đối với câu hỏi của bạn:

Có kế hoạch nào để gắn polymer với AngularJS trong tương lai không?

Từ tài khoản twitter chính thức của AngularJS: "angularjs sẽ sử dụng polymer cho các vật dụng của nó. Đó là win-win"

nguồn: https://twitter.com/angularjs/status/335417160438542337


2
@NREZ Ok, tôi không trả lời tiêu đề của bài đăng, nhưng một trong những câu hỏi bên trong bài đăng Câu trả lời của tôi chỉ dành cho câu hỏi thứ 3: Are there plans to tie Polymer in with AngularJS in the future? Tôi đoán là một ý tưởng hay để trích dẫn bài đăng gốc từ nhóm AngularJS mà bạn không nghĩ ?
loïc m.

Yup chắc chắn rằng điểm của bạn là hợp lệ ... Chỉ là mô tả có thể tốt hơn ... Giống như tôi đã thực hiện lần này và tôi chắc chắn lần sau bạn cũng sẽ ...
NREZ

vâng chắc chắn thx cho bản cập nhật của bạn :) (tôi mới bắt đầu thực sự sử dụng stackoverflow, vì vậy tôi không thấy cập nhật của bạn trước khi trả lời bạn ...)
loïc m.

Vì vậy, họ đã thay đổi tâm trí? Tôi dường như không thể tìm thấy nơi họ đang sử dụng polymer.
theblang

Tôi không nghĩ đây là một câu trả lời.
astroanu


19

1 & 2) Các thành phần polymer có phạm vi vì cây ẩn của chúng trong bóng tối. Điều đó có nghĩa là phong cách và hành vi của họ không thể chảy máu. Angular không nằm trong phạm vi chỉ thị cụ thể mà bạn tạo như một thành phần web polymer. Một chỉ thị góc có thể có thể xung đột với một cái gì đó trong phạm vi toàn cầu của bạn. IMO lợi ích bạn sẽ nhận được từ polymer là những gì tôi đã giải thích .. các thành phần mô-đun có phạm vi css & JavaScript cho thành phần cụ thể mà không có gì có thể chạm vào. DOM không thể chạm tới!

Chỉ thị góc có thể được tạo để bạn có thể chú thích một phần tử với một số phần chức năng. Trong các thành phần web polymer không phải là trường hợp. Nếu bạn muốn kết hợp chức năng của các thành phần, bạn bao gồm hai thành phần vào thành phần khác (hoặc bọc chúng trong thành phần khác) hoặc bạn có thể mở rộng một thành phần hiện có. Hãy nhớ sự khác biệt chính vẫn là mỗi thành phần nằm trong phạm vi các thành phần web polymer. Bạn có thể chia sẻ tập tin css & js trên một số thành phần hoặc bạn có thể nội tuyến chúng.

3) Có, Angular có kế hoạch kết hợp polymer trong phiên bản 2+ theo Rob Dodson và Eric Bidelman

Thật buồn cười khi không ai ở đây đã đề cập đến phạm vi từ. Tôi nghĩ đó là một trong những khác biệt chính.

Có nhiều điểm khác biệt, nhưng chúng cũng có rất nhiều điểm chung khi nói đến việc tạo ra các mô-đun lego giống như các phần chức năng cho một ứng dụng. Tôi nghĩ thật an toàn khi nói rằng Angular sẽ là khung ứng dụng và polymer một ngày nào đó có thể sống trong cùng một ứng dụng cùng với các chỉ thị phụ với sự khác biệt lớn là phạm vi nhưng polymer có thể thay thế cho rất nhiều chỉ thị hiện tại của bạn. Nhưng tôi thấy không có lý do tại sao Angular không thể hoạt động như bình thường và bao gồm cả các thành phần polymer.

Đọc lại các câu trả lời một lần nữa trong khi tôi viết bài này, tôi nhận thấy rằng Eric Bidelman (ebidel) đã che đậy câu trả lời của mình :

"Shadow DOM cho phép soạn các bit của HTML nhưng cũng là một công cụ để đóng gói HTML đó."

Để cung cấp tín dụng khi tín dụng đáo hạn, tôi đã nhận được câu trả lời của mình từ việc nghe nhiều cuộc phỏng vấn với Rob DodsonEric Bidelman . Nhưng tôi cảm thấy câu trả lời không được diễn đạt để đưa ra câu hỏi của anh chàng này về sự hiểu biết mà anh ta muốn. Như đã nói, tôi nghĩ rằng tôi đã chạm vào câu trả lời mà anh ấy đang tìm kiếm, nhưng tôi không có nhiều thông tin về chủ đề này hơn Rob Dodson và Eric Bidelman.

Dưới đây là các nguồn chính của tôi cho các thông tin tôi đã thu thập.

JavaScript Jabber - Polyme với Rob Dodson và Eric Bidelman

Shop Talk Show - Các thành phần web với Rob Dodson


1
Vì vậy, nếu tôi sử dụng normalize.css, nó không bình thường hóa trong bóng tối dom? Vì vậy, tôi cần phải bình thường hóa từng thành phần như vậy, mà không có cách nào để làm điều đó một lần? Nó có phải là một điều tốt?
Dmitri Zaitsev

1
Không nghĩ Shadow DOM là IFRAME. Và tôi sử dụng sự so sánh này một cách lỏng lẻo vì nó không phải là IFRAME. Nhưng trong IFRAME, bạn sẽ có tài liệu của riêng mình mà không bị ảnh hưởng bởi các trang CSS và JavaScript của tài liệu gốc. Đây là một điều rất tốt. Điều đó có nghĩa là bạn có thể đảm bảo rằng một thành phần cụ thể sẽ chạy như dự định và không bị can thiệp bởi trang mẹ. Tuy nhiên, nếu DOM bóng muốn sử dụng DOM từ trang mẹ thì có thể. Nhưng đó là một chủ đề khác.
Eric Bishard

1
Tôi thấy, vâng, CSS là một ngôn ngữ bị rò rỉ, nhưng trong hầu hết các trường hợp, có một giải pháp đơn giản (mặc dù không hoàn hảo) bằng cách sử dụng các tiền tố lớp duy nhất bên trong DOM mà bạn muốn tách biệt. Và, tất nhiên, bằng cách tránh các công cụ chọn thẻ và id, dù sao đó cũng không phải là thông lệ tốt. Mặt khác, một số tuyên bố mà bạn thực sự có thể muốn rò rỉ (như normalize.csshoặc các trang dựa trên thẻ khác), một lần nữa có thể dễ dàng đạt được mà không cần Shadow DOM. Đồng ý không phải là một sự cô lập hoàn hảo mà là thăm dò. hoạt động trong 95% các trường hợp sử dụng, ít nhất là những trường hợp tôi có thể nghĩ ra.
Dmitri Zaitsev

2
Phải nói rằng, tôi phải nói rằng tôi thấy công đức của sự cô lập đúng đắn, và tìm câu trả lời của bạn cung cấp lời giải thích tốt.
Dmitri Zaitsev

6

Polyme là một thành phần Web shim

  • " Thành phần web " là một bộ tiêu chuẩn mới được bao bọc bởi HTML 5 được thiết kế để cung cấp các khối xây dựng có thể sử dụng lại cho các ứng dụng web.

  • Các trình duyệt ở nhiều trạng thái triển khai đặc tả "Thành phần Web" và do đó, còn quá sớm để viết HTML bằng Cấu phần web.

  • Nhưng than ôi! Polyme để giải cứu! Polymer là một thư viện cung cấp một lớp trừu tượng cho mã HTML của bạn, cho phép nó sử dụng API thành phần Web như thể nó được triển khai đầy đủ trong tất cả các trình duyệt. Điều này được gọi là poly- fill và nhóm Polyme phân phối thư viện này dưới dạng webcomponents.js . Điều này từng được gọi là platform.js btw.

Nhưng Polymer không chỉ là một thư viện polyfill cho các thành phần web ...

Polymer cũng cung cấp các khối xây dựng Thành phần Web mở và có thể sử dụng lại thông qua các yếu tố

nhập mô tả hình ảnh ở đây

Tất cả các yếu tố có thể được tùy chỉnh và mở rộng. Chúng được sử dụng như các khối xây dựng cho mọi thứ, từ các vật dụng xã hội đến hoạt hình cho các máy khách API web.

Polyme không phải là một khung ứng dụng web

  • Polyme là một thư viện nhiều hơn là một khung.

  • Polyme không hỗ trợ cho những thứ như tuyến đường, phạm vi ứng dụng, bộ điều khiển, v.v.

    • Nhưng nó có ràng buộc hai chiều và sử dụng các thành phần "cảm thấy" giống như sử dụng các chỉ thị Angular.
  • Mặc dù có một số chồng chéo giữa Polyme và AngularJS, chúng không giống nhau. Trên thực tế, nhóm AngularJS đã đề cập đến việc sử dụng các thư viện Polyme trong các phiên bản sắp tới.

  • Cũng lưu ý rằng Polyme vẫn được coi là "cạnh chảy máu" trong khi AngularJS đang ổn định.

  • Sẽ rất thú vị khi xem cả hai dự án Google này phát triển!


Polyme không phải là một shim hoặc polyfill. Đó là những gì các polyfill webcomponents.js là. Polyme là một thư viện để tác giả các thành phần web. Nhóm Polyme cũng tạo ra các bộ sưu tập các thành phần web (được triển khai bằng cách sử dụng Polyme), nhưng chúng cũng không phải là "Polyme"
ebidel

Cập nhật: Bây giờ polymer có tuyến đường, và ổn định! : D
JordyvD

5

Tôi nghĩ từ góc độ thực tế, cuối cùng, tính năng mẫu của các chỉ thị góc và phương pháp thành phần web được thúc đẩy bởi polymer đều hoàn thành cùng một nhiệm vụ. Sự khác biệt chính mà tôi có thể thấy là polymer tận dụng các API web để bao gồm các bit HTML, một cách chính xác hơn về mặt cú pháp và đơn giản để đạt được những gì Angular làm theo lập trình khi nó hiển thị các mẫu. Tuy nhiên, polymer như đã được nêu, một khung nhỏ để xây dựng các mẫu khai báo và tương tác sử dụng các thành phần. Nó được cung cấp cho mục đích thiết kế UI và chỉ được hỗ trợ trong các trình duyệt hiện đại nhất. AngularJS là một khung MVC hoàn chỉnh được thiết kế để làm cho các ứng dụng web khai báo bằng cách sử dụng các ràng buộc dữ liệu, phụ thuộc và chỉ thị. Chúng là hai loài động vật hoàn toàn khác nhau. Cho câu hỏi của bạn, Đối với tôi, dường như vào thời điểm này, bạn sẽ không nhận được lợi ích lớn nào từ việc sử dụng polymer trên góc, ngoại trừ việc có hàng tá các thành phần được chế tạo sẵn, tuy nhiên điều đó vẫn sẽ yêu cầu bạn chuyển chúng sang các chỉ thị góc. Tuy nhiên, trong tương lai, khi các API web trở nên tiên tiến hơn, các thành phần web sẽ loại bỏ hoàn toàn nhu cầu xác định và xây dựng các mẫu theo cách lập trình vì trình duyệt sẽ có thể bao gồm chúng theo cách tương tự như cách nó xử lý các tệp javascript hoặc css.


1
"Chúng là hai loài động vật hoàn toàn khác nhau." Vâng, họ có, nhưng điều đó không có gì để làm với câu hỏi. Câu hỏi là về các phần tử polymer vs AngularJS TRỰC TIẾP. Và những cái đó rất giống nhau theo nhiều cách. Chúng tôi không hỏi về khung nào tốt nhất để sử dụng .. Polyme vs AngularJS. "Dường như với tôi tại thời điểm này, bạn sẽ không nhận được lợi ích lớn từ việc sử dụng polymer trên góc cạnh" Không ai đề xuất điều này, thực tế tất cả chúng ta đã nói về việc cuối cùng sử dụng chúng cạnh nhau trong một số khả năng. "Đối với câu hỏi của bạn, ... bạn sẽ không nhận được lợi ích gì từ việc sử dụng polymer trên góc cạnh" Một lần nữa, không phải là câu hỏi.
Eric Bishard

0

MVVM (chế độ xem mô hình, mô hình xem) mà Angular cung cấp không phải là mối quan tâm mà Polymer nhắm đến để giải quyết. Bản chất có thể kết hợp và có thể sử dụng lại mà các chỉ thị Angular cung cấp cho bạn (một thẻ tùy chỉnh + kết hợp logic liên quan) là một so sánh lành mạnh hơn khi bạn xem xét so sánh Angular và Polyme. Angular đang và sẽ vẫn là một khung phục vụ mục đích rộng lớn hơn.


0

Sự khác biệt giữa hai là gì?

Đối với người dùng: Không nhiều. Bạn có thể xây dựng các ứng dụng tuyệt vời với cả hai.

Đối với một nhà phát triển: Họ sử dụng cách cú pháp khác nhau để một trong hai giải pháp có một đường cong học tập khá dốc. Angular đã tồn tại lâu hơn và có một cộng đồng HUGE, vì vậy bạn khó có thể tìm ra những vấn đề chưa được giải quyết.

Đối với một kiến ​​trúc sư: Rất khác biệt. Angular là một khung ứng dụng chịu trách nhiệm cho tất cả các khía cạnh của cuộc sống của bạn. Nó thậm chí còn có các chỉ thị được tích hợp theo chiều dọc trong trường hợp bạn muốn các thành phần như các tính năng. Mặt khác, polymer giống như trả tiền khi bạn đi. Bạn muốn một phương thức, điều chắc chắn, bạn muốn một widget tương tác, không có vấn đề gì, bạn muốn xử lý tuyến đường, chúng tôi có thể làm điều đó để. Polyme cũng dễ mang theo hơn trong đó Angular yêu cầu ứng dụng Angular để sử dụng lại các chỉ thị. Ý tưởng với Polymer là nhiều người điều chỉnh hơn và sẽ hoạt động trong các ứng dụng khác, ngay cả các ứng dụng Angular.

Polyme giải quyết vấn đề gì mà AngularJS không có hoặc không có?

Polyme là một cách tiếp cận để hướng tới việc tận dụng các tiêu chuẩn thành phần web mới. Nếu các tính năng như các yếu tố tùy chỉnh, nhập khẩu Shadow DOM và HTML được hỗ trợ cục bộ, sẽ thật ngu ngốc nếu không tận dụng lợi thế của chúng. Hiện tại hầu hết các tính năng thành phần web không được hỗ trợ rộng rãi ( trạng thái hiện tại ) vì vậy polymer hoạt động như shim hoặc cầu. Kinda giống như một polyfill (thực tế nó sử dụng polyfill).

Có kế hoạch nào để gắn polymer với AngularJS trong tương lai không?

Chúng tôi đã sử dụng Angular và polymer cùng nhau trong hơn một năm. Một phần của quyết định thực hiện điều này dựa trên những lời hứa được đưa ra trực tiếp bởi nhóm Polyme cho chúng tôi rằng khả năng tương tác là có. Chúng tôi đã từ bỏ ý tưởng đó. Chúng tôi đang chuyển sang chỉ sử dụng Polyme.

Để làm điều đó một lần nữa, có lẽ chúng ta sẽ không thực hiện chuyển sang sử dụng Polyme, thay vào đó hãy đợi nó hoàn thiện. Điều đó được nói rằng polymer có ưu điểm (một số khá tốt) và nhược điểm (một số trong đó khá bực bội) nhưng tôi nghĩ đó là một cuộc thảo luận cho một chủ đề khác.


0

Chỉ thị Angularjslà một cách tiếp cận để làm cho các yếu tố tùy chỉnh. bạn có thể xác định các thẻ tùy chỉnh mới với các thuộc tính tùy chỉnh. Polyme cũng có thể làm điều này nhưng nó sẽ làm theo một cách thú vị và đơn giản hơn. Thực ra, đó không phải là một khung mà nó chỉ là một thư viện. Nhưng một thư viện mạnh mẽ và tuyệt vời mà bạn có thể yêu nó (như tôi). Polyme cho phép bạn tìm hiểu công nghệ thành phần web gốc do w3c tạo ra, rằng các trình duyệt web cuối cùng thực hiện it.web là công nghệ tương lai, nhưng polymer cho phép bạn sử dụng công nghệ đó ngay bây giờ. Google polymer là một thư viện cung cấp đường và cú pháp cú pháp để xây dựng các phần tử và ứng dụng với các thành phần web. Có thể tôi đã nói rằng polymer không phải là một khung công tác và đó là một thư viện. Nhưng khi bạn sử dụng Polyme, thực sự khung của bạn là DOM. bài đăng này là về góc js ver 1 và polymer và tôi đã làm việc với cả hai là dự án của tôi và cá nhân tôi thích polymer hơn angularjs. Nhưng phiên bản Angular 2 hoàn toàn khác so với angularjs ver 1.directive trong angular 2 có một ý nghĩa khác.


0

Các chỉ thị góc có khái niệm tương tự như Các thành phần tùy chỉnh nhưng chúng được triển khai mà không cần sử dụng API thành phần web. Các chỉ thị góc là một cách để xây dựng các thành phần tùy chỉnh, nhưng đặc tả của Polyme và Thành phần Web là cách dựa trên tiêu chuẩn để thực hiện.

nguyên tố polymer:

<polymer-element name="user-preferences" attributes="email">
  <template>
    <img src="https://secure.user-preferences.com/path/{{userID}}" />
  </template>
  <script>
    Polymer('user-preferences', {
      ready: function() {
        this.userID= md5(this.email);
      }
    });
  </script>
</polymer>

Chỉ thị góc:

app.directive('user-preferences', ['md5', function() {
  return {
    restrict: 'E',
    link: function(scope, element, attrs) {
      scope.userID= md5(attrs.email);
    },
    template: '<img src="https://secure.user-preferences.com/path/{{userID}}" />'
  };
}]);
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.