AngularJS provides all the means for building webcomponents.

Inside Angular we have something called directives which basically wraps/fold an blob of html into one new html tag, so:

<datafield dataProviderID="model.orderid" />

expands to something like:

<div class="xyz"><input type="text" ng-model="model.orderid"></div>

an directive like "datafield" is the basic building block for a webcomponent, see "Create Components" section at: http://angularjs.org (especially see the component.js tab there)

Inside each webcomponent Angular arranges for binding between model and display, for example the ng-model parameter.

 

Every webcomponent consists out of 3 parts/files:

  1. Specification defines all properties and types (internally called beanInfo)
  2. Template contain for example an "ng-click" handler to webcomponent logic
  3. Logic, does the adding of directive, and likely contains controller javascirpt to-do for example remote calls and expose api functions