Scopes inherit a property from its parent only when that property is missing. In your code, when you don't type anything yet, the property is missing and inherited from parent scope, but as you start typing, the property is created on the child scope as a separate property. After creating a property on the child scope, ng-model
keeps updating this property on the child scope.
In case you need to bind to parent scope's properties, you could try $parent.out_var1
:
<input type="text" ng-model="$parent.out_var1">