angular-polymer
is a directive factory that aims at bridging the gaps between using Polymer based Web Components in Angular applications.
Note: Currently Angular-Polymer only works with Angular 2.x, or Angular-CLI 1.0.0-rc.2 and lower. Work is being done to upgrade the library to work the latest Angular & CLI. Want to help Contribute?
In case you are using Angular 4+ and Polymer 2+ you might want to check out https://github.com/hotforfeature/origami
import { NgModule, CUSTOM_ELEMENTS_SCHEMA, Component } from '@angular/core';
import { PolymerModule, PolymerElement } from '@vaadin/angular2-polymer';
@NgModule({
imports: [ PolymerModule ],
declarations: [
AppComponent,
PolymerElement('paper-input'),
PolymerElement('vaadin-combo-box')
],
bootstrap: [ AppComponent ],
schemas: [ CUSTOM_ELEMENTS_SCHEMA ]
})
export class AppModule { }
@Component({
selector: 'app-component',
template: `
<paper-input [(value)]="myValue"></paper-input>
<vaadin-combo-box [(value)]="myValue" [items]="myItems"></vaadin-combo-box>
`
})
class AppComponent {
myValue = 'A';
myItems = ['A', 'B', 'C'];
}
See the overview for a quick start.
See the tutorial for complete instructions on how to use angular-polymer
and how to build a working application with Angular data binding and routes.
If you are using Webpack in your project, see the specific document on how to build angular-polymer apps with webpack.
The Expense Manager demo is an example of a real world application built using Angular and Polymer web components.
For high quality Polymer web components, see the Webcomponents Element Catalog and Vaadin Elements.
Familiarize yourself with the code and try to follow the same syntax conventions to make it easier for us to accept your pull requests.
Discuss / exchange ideas and ask questions here: https://polymer.slack.com/messages/polymer-angular/
Clone the angular-polymer project:
$ git clone https://github.com/platosha/angular-polymer.git
$ cd angular-polymer
Install dependencies. We assume that you have already installed npm
in your system.
$ npm install
For running the tests you need Bower installed.
Then, you can download all bower dependencies needed by the Tests.
$ bower install
Finally, you can run the tests by typing:
$ npm test
Optionally, you can watch for the source changes and keep the tests running automatically:
$ npm run test:w
Apache License 2.0