Really clever hack. Also looked around the original Angular spreadsheet the author offered as a inspiration, the 'hacky' components boiled down to this too parts:
1. Data binding.
Angular: ng-model, ng-controller, relying on Angular's magical $scope
This: custom defined object getter, essentially making the data resides in the DOM input elements (while keeping a copy in localStorage)
2. Expression evaluation
Angular: $parse service
This: 'with' and 'eval' in the same line. Despite its double 'evilness', this is really clever.
1. Data binding.
Angular: ng-model, ng-controller, relying on Angular's magical $scope
This: custom defined object getter, essentially making the data resides in the DOM input elements (while keeping a copy in localStorage)
2. Expression evaluation
Angular: $parse service
This: 'with' and 'eval' in the same line. Despite its double 'evilness', this is really clever.