С чего бы вдруг this был undefined? В данном случае this указывает на TestDirective, у него есть свойство methods, у которого есть функция helloMethod(). Поэтому внутри mounted() нужно вызывать так this.methods.helloMethod() , а не так this.helloMethod(). Кстати, this.someData действительно undefined
Есть простые и "длинные" запросы. Простые это GET и POST или HEAD. Все остальные - "длинные". Длинные запросы проходят в 2 этапа, т.е сервер сначала получает предварительный запрос и должен на него ответить, а затем запрос данных. Если у вас не проходит POST запрос, значит вы в него засунули заголовок разрешенный только в длинных запросах, например такой 'Content-Type': 'application/json'