SO: AngularJS - $setViewValue

HTML

<div ng-app="app">
    <div ng-controller="box">
        <input type="text" ng-model="boxModel" box="" />
        
        value: {{ boxModel }}
    </div>
</div>

JavaScript

angular.module('app', []).
controller('box', function($scope) {
    $scope.boxModel = 'first value';
}).
directive('box',
    function() {
        return {
            restrict: 'EA',
            require: 'ngModel',
            scope: {
            },
            link: function(scope, iElement, iAttrs, ngModel, ngModlController) {
            ngModlController.$parsers.push(function(){
            	var val = ngModlController.$modelValue;
              if(val == '1')		ngModlController.$setModelValue('') 
              ngModlController.$render();//ngModlController.$setViewValue('hello') ;
            })
                ngModel.$setViewValue('second value');
                ngModel.$render();
            }
        }
    }
);