Angular Computed Property
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.min.js"></script>
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.0/css/bootstrap-combined.min.css">
<div ng-app>
<div ng-controller="SomeCtrl">
<h1>With memoization</h1>
<input ng-model="textProperty"/>
<span>{{computedMemoizedProperty(textProperty)}}</span>
</div>
</div>
JavaScript
function SomeCtrl($scope) {
$scope.textProperty = "initial";
var memoizedTimes = 0;
$scope.computedMemoizedProperty = _.memoize(function(){
console.log(++memoizedTimes);
return $scope.textProperty + " asdf";
});
}