@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
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>