Polymer Behaviors are a Polymer-specific abstraction, and you can't apply them to non-Polymer elements even as a mixin because they assume certain API from the base class that LitElement doesn't provide.
I don't know much about AppLocalizeBehavior for FormatJS, but in this case I think you should be able to use FormatJS directly. On Wed, Jan 23, 2019 at 8:06 PM Juan Lorenzo Llanes <[email protected]> wrote: > Hi everyone > > I'm working whith pwa-starter-kit LitElement and AppLocalizeBehavior and I > have the following error when I implement AppLocalizeBehavior in LitElement > app > > ---package.json --- > > "dependencies": { > "@polymer/app-layout": "^3.0.0", > "@polymer/app-localize-behavior": "^3.0.1", > "@polymer/polymer": "^3.1.0", > "@webcomponents/webcomponentsjs": "^2.2.4", > "lit-element": "^2.0.0-rc.3", > "pwa-helpers": "^0.9.0", > "redux": "^4.0.0", > "redux-thunk": "^2.3.0", > "reselect": "^4.0.0" > }, > "devDependencies": { > "@polymer/test-fixture": "^4.0.2", > "axe-core": "^3.0.0", > "chai": "^4.1.2", > "del": "^3.0.0", > "gulp": "^4.0.0", > "gulp-rename": "^1.3.0", > "gulp-replace": "^1.0.0", > "mocha": "^5.2.0", > "pixelmatch": "^4.0.2", > "polymer-cli": "^1.9.3", > "polyserve": "^0.27.0", > "prpl-server": "^1.4.0", > "puppeteer": "^1.5.0", > "wct-mocha": "^1.0.0" > } > > > > > --- old my-app.js-- > > class MyApp extends connect(store)(LitElement) { > .... > > > > ---AppLocalizeBehavior my-app.js --- > > > > import {mixinBehaviors} from '@polymer/polymer/lib/legacy/class.js'; > import {AppLocalizeBehavior} from > '@polymer/app-localize-behavior/app-localize-behavior.js'; > > > > > class MyApp extends connect(store)(mixinBehaviors([AppLocalizeBehavior], > LitElement)) { > ..... > > ----- ERROR-------------- > > > updating-element.ts:487 Uncaught TypeError: Cannot read property 'forEach' > of undefined > at HTMLElement._saveInstanceProperties (updating-element.ts:487) > at HTMLElement.initialize (updating-element.ts:467) > at HTMLElement.initialize (lit-element.ts:130) > at new UpdatingElement (updating-element.ts:230) > at new LitElement (lit-element.ts:76) > at new PropertiesChanged (properties-changed.js:170) > at new PropertyAccessors (property-accessors.js:115) > at new TemplateStamp (template-stamp.js:125) > at new PropertyEffects (property-effects.js:1195) > at new PropertiesMixin (properties-mixin.js:115) > > > > Thanks in advance > > Follow Polymer on Google+: plus.google.com/107187849809354688692 > --- > You received this message because you are subscribed to the Google Groups > "Polymer" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/polymer-dev/4de87ba7-005d-441c-aea6-a11f2be159ed%40googlegroups.com > <https://groups.google.com/d/msgid/polymer-dev/4de87ba7-005d-441c-aea6-a11f2be159ed%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > Follow Polymer on Google+: plus.google.com/107187849809354688692 --- You received this message because you are subscribed to the Google Groups "Polymer" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/polymer-dev/CAEKsHmBQa5iii5U-RFJ%2BV%3DFK451cesQtmL9g5-rFEi8RNKKMOg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
