In my directive, I have a controller variable, page which gets incremented when you press the button in the directive. However, the next line, scope.alertPage()
scope.alertPage()
You can pass the variable by reference, then the update will be immediate (because you wont copy it, but simply pass its location in memory).
View:
Directive:
link: function(scope, elem, attrs) { scope.incrementPage = function() { scope.page.page += 1; scope.alertPage(); }