调用对象的函数 - 未定义不是函数

时间:2014-06-21 08:58:46

标签: javascript function object knockout.js

我正在尝试从另一个函数调用该对象的函数,并且我得到“未定义不是函数”错误。我认为有一些愚蠢的错误,但我无法弄明白。

function dataProvider() {

    var self = this;

    self.loadData = ko.computed(function(){

        var data = new Data(self.getJson().data); //here comes the error
        ...


    });

    self.getJson = function(){
        if(typeof jsonVar !== 'undefined')
            return jsonVar;
        else {
            ...
        }


    };

}

定义了jsonVar,它是一个有效的JSON。数据是一个对象,但self.getJson()只是不起作用。

编辑: 它不是关于私人或公共方法。问题是我无法调用该对象的方法。

1 个答案:

答案 0 :(得分:0)

你应该像这样试试

self.loadData = ko.computed(function(){
    var json = self.getJson()
    if(json){
        var data = new Data(json.data);
    }
});