А в вашем коде this будет указывать на кнопку или на объект анонимной функции? Просто явно он не передается, а внутри области это точно объект функции. Или я не совсем прав?
Что значит сверить на подлинность, если сервер уже вам после успешной проверки возвращает токен? Вся проверка же на стороне сервера, или вы валидность данных перед посылом хотите проверить? Я теперь уже слегка запутался
В примере кода по вашему $scope разные что ли? Вы работаете с одной областью, наделили ее методом и полем. А вам надо, чтобы каждый объект, хранящийся в списке, обладал бы своей $scope, где были бы методы добавления и демонстрации. Тогда Вам нужно будет в repeat пройти список, представить полученный объект для каждой итерации, а уже вызовы методов будут работать с этим объектом: удалять, показывать и т. д.
Я могу ошибаться, но вопрос с областью видимости еще не решен, все элементы все еще находятся в одной $scope, функция соответственно общая. Если Вам нужно разное поведение объектов, которые вы перебираете и выводите, то наделите методами и полями каждый объект, тогда вы сможете работать с ним отдельно. Не до конца понимаю Вашу конечную задачу, чего точно Вы хотите добиться?
Возможно проблема в области видимости, раз изменения происходят в каждом элементе, проверьте контроллер, получает ли каждый элемент свою область видимости, в ней ли происходят изменения. Маловато информации поступило в примере
Странно, но у меня ни один из ваших вариантов не работает, может быть в первом варианте нужно событие и обработчик? Да, в первом примере, в переменной this разве не ссылка на объект анонимной функции?