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);
}
}
});