The simplest (and the weirdest) way to do it is to use ... CSS! Consider this:
<input type="number" ng-model="item.add_value"
ng-class="{zero: item.add_value === 0}"
ng-change="sumUp(item)"
min="0"
max="10000000000" />
and CSS:
.zero {
text-indent: -7px;
}
Not sure it will be appropriate for you, but this is definitely fun and can work if you adjust indent for your font size and input padding.
UDP. One more version using directive:
.directive('hideZero', function() {
return {
link: function(scope, element) {
element.on('input change', function() {
if (this.value === '0') {
this.value = '';
}
})
}
};
});
and use it like:
<input type="number" ng-model="item.add_value"
ng-change="sumUp(item)"
hide-zero
min="0"
max="10000000000" />