Typescript with Polymer 1.0?

2020-06-03 03:23发布

问题:

I found this great article I had been using with Polymer 0.5 ( http://www.mikecann.co.uk/programming/tinkering-with-google-polymer-and-typescript/ ) for being able to use Typescript Classes for Polymer Elements. This approach no longer works with Polymer 1.0 . I tried

class CreatorStudio extends Polymer.Class({}) {

  is = "creator-studio";
}

/*(function () {
Polymer(CreatorStudio.prototype);
})();*/
document.registerElement("creator-studio", CreatorStudio.prototype);

And a number of other approaches but can't seem to get the element to register the same as Polymer({is: "creator-studio"});

Anyone been able to get TS classes and Polymer 1.0 to play together?

回答1:

you can use the package PolymerTS



回答2:

You can try this:

class CreatorStudio extends Polymer.Class(
    {
        is: "creator-studio",
        properties: {}
    }
){
    ready() {
        // ...
    }
    created(){
        // ...
    }

and later:

document.registerElement(CreatorStudio.prototype.is, CreatorStudio);

Here's a working sample (although using Babel, not Typescript): http://codepen.io/mikkokam/pen/jPMLJN