Chapter 9: Trimming your watch list with lazy binding
HTML
<script src="https://code.angularjs.org/1.3.2/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="Ctrl">
<input ng-model="draft.year" />
{{ ::verySlowMethod('lazy') }}
{{ verySlowMethod('normal') }}
</div>
</div>
JavaScript
angular.module('myApp', [])
.controller('Ctrl', function($log, $scope, $timeout) {
var cnt = 0;
$scope.verySlowMethod = function(desc) {
// simulate slow method
$timeout(function() {
window.alert(desc);
$log.log('slow method completed', desc);
}, 5000);
// ensure different value every time it is invoked
return 0;
};
});