Angular playground

HTML

<script src="http://code.angularjs.org/1.2.14/angular.js"></script>
<div ng-controller="MainCtrl">
    <input type="text" ng-model="func" />    
    
    <ul>
        <li ng-repeat="msg in messages">{{msg}}</li>
    </ul>
    {{test}}
    
    <div>
      <div *ngFor="el in elems">
        {{el}}
      </div>
    </div>
</div>

JavaScript

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

module.config(function ($provide) {
    // decorate - wrap $parse to understand jQuery text() getter/setter
    $provide.decorator('$parse', function($delegate) {
        return function(expression) {
            var parsed = $delegate(expression);

            // getter
            wrapper = function(scope, locals) {
                var val = parsed(scope, locals);
                return angular.isFunction(val) && val.getset 
                    ? val.call(scope) 
                    : val;
            };
            
            // setter
            wrapper.assign = function(scope, value) {
                var val = parsed(scope);
                if (angular.isFunction(val) && val.getset) 
                    val.call(scope, value);
                else if (parsed.assign)
                    parsed.assign(scope, value);
            };

            return wrapper;
        };
    });    
});

module.controller("MainCtrl", function($scope) {
    $scope.messages = ["Init"];
    $scope.test = "foo";
    $scope.func = function (val) {
        if (val != null)
            $scope.test = val;
        else
            return $scope.test;
    };
    $scope.func.getset=true;
    $scope.elems = [1,2,3,4,5,6];
});