javascript - How to Use Polymer Elements -



javascript - How to Use Polymer Elements -

i working through demo in polymer. 1 here:

https://www.polymer-project.org/components/core-ajax/demo.html

the code works looks this:

<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>ajax this.</title> <script src="../bower_components/platform/platform.js"></script> <link rel="import" href="../bower_components/polymer/polymer.html"> <link rel="import" href="../bower_components/core-ajax/core-ajax.html"> </head> <body> <core-ajax auto url="http://gdata.youtube.com/feeds/api/videos/" params='{"alt":"json", "q":"chrome"}' handleas="json"></core-ajax> <template repeat="{{response.feed.entry}}"> <div>{{title.$t}}</div> </template> <script> document.addeventlistener('polymer-ready', function() { var ajax = document.queryselector("core-ajax"); ajax.addeventlistener("core-response", function(e) { document.queryselector('template').model = { response: e.detail.response }; } ); }); </script> </body> </html>

which works quite fine. want encapsulate demo within of polymer element, called "test-element.html", doesn't work:

<link rel="import" href="../bower_components/polymer/polymer.html"> <link rel="import" href="../bower_components/core-ajax/core-ajax.html"> <polymer-element name="test-element"> <template> <core-ajax auto url="http://gdata.youtube.com/feeds/api/videos/" params='{"alt":"json", "q":"chrome"}' handleas="json"></core-ajax> <template repeat="{{response.feed.entry}}"> <div>{{title.$t}}</div> </template> <script> document.addeventlistener('polymer-ready', function() { var ajax = document.queryselector("core-ajax"); ajax.addeventlistener("core-response", function(e) { document.queryselector('template').model = { response: e.detail.response }; } ); }); </script> </template> <script> polymer('test-element', { }); </script> </polymer-element>

nothing beeing displayed, when utilize element , import in within index.html:

<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>javascript playground</title> <script src="../bower_components/platform/platform.js"></script> <link rel="import" href="../bower_components/polymer/polymer.html"> <link rel="import" href="test-element.html"> <link rel="import" href="ajax-feedback.html"> </head> <body> <style> * {margin: 0; padding: 0;} </style> <h1>hello world</h1> <test-element></test-element> <ajax-feedback></ajax-feedback> </body> </html>

please can explain me, why can't set code of demo within polymer element , reimport within index.html?

thank much.

george.

two things: document.queryselector() won't work here: polymer elements utilize shadow dom, hide elements css , queryselector(), , you've done hard way. shouldn't need <script> tags within <template>, , don't need hard code js carry response it's going used.

this easy way:

<link rel="import" href="/bower_components/polymer/polymer.html"> <link rel="import" href="/bower_components/core-ajax/core-ajax.html"> <polymer-element name="test-element" attributes="q"> <template> <core-ajax auto url="http://gdata.youtube.com/feeds/api/videos/" params='{"alt":"json", "q":"{{q}}"}' handleas="json" response="{{response}}"></core-ajax> <template repeat="{{response.feed.entry}}"> <div>{{title.$t}}</div> </template> </template> <script> polymer({ response: null, }); </script> </polymer-element>

and utilize it:

<test-element q="chrome"></test-element>

javascript polymer

Comments

Popular posts from this blog

c - Compilation of a code: unkown type name string -

java - Bypassing "final local variable defined in an enclosing type" -

json - Hibernate and Jackson (java.lang.IllegalStateException: Cannot call sendError() after the response has been committed) -