JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<div ng-app="myApp" ng-controller="MyCtrl as vm">

  <input class="form-control" ng-model="person.name">
  <input class="form-control" ng-model="person.surname">
  <input class="form-control" ng-model="person.address">
  
  <input class="form-control" ng-model="person.city">

  <pre>{{person|json}}</pre>
  
  <pre>{{console|json}}</pre>

</div>

JavaScript

var myApp = angular.module('myApp', []);

myApp.controller('MyCtrl', ['$scope', function($scope) {
  var vm = this;

  $scope.person = {
    name: 'Stefano',
    surname: 'Rossi',
    address: 'Orange Road',
    city: {
      clazz: 'foo.bar.City',
      id: 5,
      lazy: true
    }
  }

}]);

myApp.directive('ngModel', [ function() {

	return {
		restrict : 'A',
		require : [ '?ngModel' ],
		link : function($scope, $element, attrs, controllers) {
			
			var modelCtrl = controllers[0];
			
			var modelPath = attrs.ngModel;
      
      $scope.console = [];
			
			$scope.$watch(modelPath, function(newValue, oldValue){
				
				var model = $scope;
        
        // How to check the $scope here?
        if($scope[modelPath] && $scope[modelPath].lazy){
        	 $scope.console.push("Load in lazy...");
        }
       					
        $scope.console.push(modelPath);
                
				console.log(modelPath);				
			});

		}
	}
} ]);