Всё так, но $apply лучше использовать подобным образом: jsbin.com/wacid/2/edit (а $digest - вообще не использовать). Если $apply передавать функцию, то она будет обернута в try..catch и в случае ошибки будет легче понять, что не так. А $digest выполнится автоматически в finally.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.