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: