2016-03-14 7 views
0

У меня есть следующая иерархия:Как вызвать метод родителя, когда требуется класс child?

class BaseController 
    validateCloverToken: -> 
     console.log 123 


    module.exports = new class RetailersController extends BaseController 
    getAll: (req, reply) -> 
     @validateCloverToken() 

Когда я пытаюсь вызвать RetailersController в другом файле:

RetailersController = require("../controllers/retailers") 
RetailersController.getAll() 

я получаю следующее исключение:

TypeError: Uncaught error: this.validateCloverToken is not a function 

Любые идеи, как исправить это? Я использую его в пределах маршрута HapiJS:

{ 
    method: "GET" 
    path: "/retailers" 
    handler: RetailersController.getAll 
    config: 
     auth: 
     strategy: "jwt" 
     scope: ["a"] 
     description: "Get a list of all retailers" 
     tags: ["api"] 
    } 
+0

Я пробовал код, которым вы поделились, и он работает для меня. Возможно, вы вставили только часть своего кода, и ошибка находится в другом месте ... –

ответ

0

код не работает здесь с HapiJS. «это» было контекстом HapiJS. Когда я использую жирную стрелку для функции getAll, все работает нормально. Он должен выглядеть так:

getAll: (req, reply) => 
     @validateCloverToken() 
Смежные вопросы