Chapter 19, $parse (Pro AngularJS)

HTML

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap-theme.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>
<body ng-app="exampleApp" ng-controller="defaultCtrl">
    <div class="well">
        <p>
            <input class="form-control" ng-model="dataValue" />
        </p>
        <div>Result: <span eval-expression amount="price()" tax="10"></span>

        </div>
    </div>
</body>

JavaScript

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

exampleApp.controller("defaultCtrl", function ($scope) {
    $scope.price = function(){
			console.log('hang me');    
    };
})

exampleApp.directive("evalExpression", function ($parse) {
   
    return {
        link: function (scope, element, attrs) {
        console.log(attrs.amount);
         var expressionFn = $parse(attrs.amount)(scope);
    			console.log(expressionFn);
        }
    }
});