TypeError: this.getInciData не является функцией - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь вызвать функцию внутри того же класса с другой функцией, но получаю TypeError: this.another не является функцией error

Custom.Widgets.report.Incidents = RightNow.Widgets.extend({ 
    constructor: function() {
        this.getViewData();
    },
    another: function(){
        alert("Calling another function");
    },
    clicked: function(){
        $("#firstPage").click(function(){
            alert("Calling function on Click"); */
            another();
        });
    },

    getViewData: function(){
        alert("Calling main function");
        this.another();
    },

});

Пожалуйста, помогите.

1 Ответ

1 голос
/ 18 июня 2020

Проблема в том, что this не привязан к функции, но вы можете привязать его следующим образом:

const obj = {
  another: function() {
    console.log("Calling another function");
  },
  getViewData: function(){
    console.log("Calling main function");
    this.another.bind(this)();
  }
};

obj.getViewData();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...