Angular 1.5 component demo
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js"></script>
<div ng-app="demoApp" ng-controller="MainController as mainCtrl">
<foo-rock ng-model="obj.text"></foo-rock>
</div>
JavaScript
angular.module('demoApp', [])
.controller('MainController', function MainController() {
this.obj = { text: 'default' }
})
.component("fooRock", {
template: '<input type="text" ng-model="" ng-change=""/>',
require: {
ngModelCtrl: "ngModel"
},
bindings: {
ngModel: "<"
},
controller: function() {
const $ctrl = this;
this.$onInit = () => {
$ctrl.ngModelCtrl.$parsers.push(value => value.split(',').filter(v => v));
ngModelCtrl.$validators.pubBlacklistStoreIdValidation = modelValue => {
return ngModelCtrl.$isEmpty(modelValue) || $ctrl.validate(modelValue);
};
};
$ctrl.validate();
}
});