UNPKG

@polymer/polymer

Version:

The Polymer library makes it easy to create your own web components. Give your element some markup and properties, and then use it on a site. Polymer provides features like dynamic templates and data binding to reduce the amount of boilerplate you need to

46 lines (40 loc) 1.35 kB
<!DOCTYPE html> <!-- @license Copyright (c) 2017 The Polymer Project Authors. All rights reserved. This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as part of the polymer project is also subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt --> <link rel="import" href="../../../polymer.html"> <dom-module id="dynamic-element"> <template> <span id="content">dynamic-element</span> : </template> </dom-module> <script> Polymer({ is: 'dynamic-element', ready: function() { var url = this.resolveUrl('outer-element.html'); this.importHref(url, function() { this.$.outer = document.createElement('outer-element'); Polymer.dom(this.root).appendChild(this.$.outer); this._hasContent = true; if (this._callback) { this._callback(); } }, function() { assert.fail('failed to load import', url); }); }, whenDynamicContentReady: function(callback) { this._callback = callback; if (this._hasContent) { this._callback(); } } }); </script>