Polymer kullanarak bir HTML öğesi oluşturuyorum ve yazdığım bir ES6 sınıfı ile çalışabilmeyi istiyorum. Bu nedenle, önce sınıfı almam ve sonra öğeyi kaydetmem gerek: Bu, yaptığım şey:System.js aracılığıyla ES6 kodunu içe aktardıktan sonra Polimer öğesini tanımlama
(function() {
System.import('/js/FoobarModel.js').then(function(m) {
window.FoobarModel = m.default;
window.FoobarItem = Polymer({
is: 'foobar-item',
properties: {
model: Object // instanceof FoobarModel === true
},
// ... methods using model and FoobarModel
});
});
})();
Ve iyi çalışıyor.
<!DOCTYPE html>
<html lang="en">
<head>
<script src="/bower_components/webcomponentsjs/webcomponents.js"></script>
<script src="/bower_components/system.js/dist/system.js"></script>
<script>
System.config({
map:{
traceur: '/bower_components/traceur/traceur.min.js'
}
});
</script>
<link rel="import" href="/html/foobar-item.html">
</head>
<body>
<script>
(function() {
var data = window.data = [
{
city: {
name: 'Foobar City'
},
date: new Date('2012-02-25')
}
];
var view;
for (var i = 0; i < data.length; i++) {
view = new FoobarItem();
view.model = data[i];
document.body.appendChild(view);
}
})();
</script>
</body>
</html>
basit bir nedenden dolayı çalışmıyorsa: Ama şimdi bazı sahte verileri benim bileşeni görüntülemek için bir test HTML sayfası yazmak istiyorum Polimer kaydeder önce <script>
etiketteki kod yürütülür öğesi. Böylece
o (PolymerElementsRegistered
gibi bir şey) eleman kayıt için JavaScript olayı dinlemek mümkün olmazsa, daha iyi bile System.js kullanılarak veya eşzamanlı ES6 modülünü yüklemek için bir yol olup olmadığını bilmek istiyorum?
Ben başarılı olamadı aşağıdaki denedim: polimer başlangıç setinin den app/scripts/app.js
komut dosyasında
window.addEventListener('HTMLImportsLoaded', ...)
window.addEventListener('WebComponentsReady', ...)
HTMLImports.whenReady(...)