Ich habe versucht, ohne Erfolg eine Web-Komponente zu implementieren, die Polymer und TypeScript integriert. Weiß jemand, wo kann ich eine Probe sehen? Gibt es eine Alternative zu Polymer? DankePolymer und TypeScript
8
A
Antwort
7
Ich kam mit einer Lösung ... vielleicht nicht die beste Lösung, aber zumindest eine Art funktionierende Lösung. Ich muss noch tiefer nachforschen.
das benutzerdefinierte Element HTML:
<link rel="import" href="../polymer/bower_components/polymer/polymer.html"/>
<polymer-element name="my-element" constructor="MyElement5">
<template>
<span id="el"></span>
</template>
<script src="my-element.js"/>
</polymer-element>
meine Typoskript-Datei (my-element.ts):
class Owner{
ownerinfo:string;
constructor(public firstName:string, public age:number){
this.ownerinfo = firstName + " " + age + " yo";
}
}
var polymer = window['Polymer'];
polymer('my-element',{
owner:new Owner('TheOwner', 100),
ready:function(){
this.$.el.textContent = this.owner.ownerinfo;
}
})
und schließlich die Javascript erzeugt durch Typoskript:
var Owner = (function() {
function Owner(firstName, age) {
this.firstName = firstName;
this.age = age;
this.ownerinfo = firstName + " " + age + " yo";
}
return Owner;
})();
var polymer = window['Polymer'];
polymer('my-element', {
owner: new Owner('TheOwner', 100),
ready: function() {
this.$.el.textContent = this.owner.ownerinfo;
}
});
//# sourceMappingURL=my-element.js.map
Und damit funktioniert es und ich kann sogar in Firefox oder Chrome debuggen. Mal sehen, ob ich mit einem Schritt zurück komme ... Hoffe das hilft anderen Jungs.
Am Ende ich zu viel dachte ... und vergessen, das wichtigste: Typoskript JavaScript ist LoL
== fast vergessen meine Pyramide Vorlage:
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="${request.static_url('my_project:static/polymer/bower_components/platform/platform.js')}"/>
<script src="http://code.jquery.com/jquery-2.1.1.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script>
<!-- Custom webcomponents -->
<link rel="import" href="${request.static_url('my_project:static/webcomponents/my-element.html')}"/>
<!-- Bootstrap core CSS -->
<link href="//oss.maxcdn.com/libs/twitter-bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
<link href="${request.static_url('my_project:static/theme.css')}" rel="stylesheet">
</head>
<body>
<!-- My Super Custom WebComponent -->
<my-element></my-element>
<script src="//oss.maxcdn.com/libs/twitter-bootstrap/3.0.3/js/bootstrap.min.js"></script>
</body>
</html>
Ehrfürchtig ... Polymer + TypeScript + Python
Verwandte Themen
- 1. Verwendung von Polymer-Papier-Dialog in angular2 typescript App
- 2. Javascript async und Polymer
- 3. Polymer und firebase-auth
- 4. Sizing Polymer-Dialog und Polymer-Dialog-scrollbar: variable Höhe
- 5. MV * in Polymer, Modelle und Dienstleistungen als Polymer-Elemente?
- 6. Typoskript mit Polymer 1.0?
- 7. Polymer dieses und Cytoscape diese
- 8. Arbeiten mit Polymer und requirejs
- 9. jQuery Plugins und Polymer Elemente
- 10. Polymer und Google Closure Compiler
- 11. Emberjs und Typescript SetUp
- 12. TypeScript und ExactEqual
- 13. Typescript und Spread-Operator?
- 14. Typescript und Winkelfilter
- 15. JSPM und Typescript-Import
- 16. TypeScript und Html2Canvas?
- 17. Polymer-CLI: $ Polymer build ... Kann Datei ... bower_components/**/*
- 18. Typescript Getter und Setter Fehler
- 19. Async/Await - Typescript und ExpressJs
- 20. Typescript und Jquery Syntax Problem
- 21. Webpack resolve.root und TypeScript loader
- 22. TypeScript und Array reduzieren Funktion
- 23. Unterschied zwischen ExtJS und TypeScript
- 24. Typescript und HMR funktioniert nicht
- 25. TypeScript und optional destrukturierte Argumente
- 26. Probleme mit TypeScript und TFS
- 27. Eigenschaft undefined Angular2 und TypeScript
- 28. Versprechen mit angularJS und Typescript
- 29. TypeScript 1.5, Reflektion und Decorator
- 30. Typescript lambdas und closure (scope)
Betrachten Sie auch eine Polymer.d.ts-Datei hinzufügen, so dass Sie nicht brauchen, um die 'var Polymer = Fenster ['Polymer'];" Geschäft. Zum Beispiel: 'var Polymer: (Name: Zeichenfolge, Attribute?: {[Feldname: Zeichenfolge]: any}) => void;' –
Netter Tipp, danke –
Überlegen Sie, ob Sie das --noImplicitAny-Flag für tsc- wie @PeterBurns verwenden wies darauf hin, var polymer = window ['Polymer']; endet mit Polymer, das vom Typ any ist, was Ihnen keinerlei Artschutz gibt. Selbst wenn Sie nicht alle Polymere vollständig eintippen möchten, wäre es ein guter Anfang, mit einer Basis-Polymer-Schnittstelle zu beginnen, die Sie hinzufügen, während Sie gehen. –