Durandal函数未定义

时间:2014-12-22 00:03:58

标签: javascript jquery single-page-application durandal durandal-2.0

我遇到了Durandal的问题。我像文档一样工作并得到错误,函数没有定义,我错了什么?

backend.js:

define(function(require){
    return {
        getActivePeriods:function(){
            $.getJSON("files/ajax.php?q=getActivePeriods", function(data){
                return data;
            });
        }
    };
});

periods.js:

   define(function (require) {
        var backend = require('backend');
        var ko = require('knockout');

        return {
            active_periods:ko.observableArray([]),
            activate:function(){
                var that = this;
                backend.getActivePeriods().then(function(results){
                    that.active_periods(results);
                });
            }
        };
    });

错误:

ERROR: backend.getActivePeriods(...) is undefined
TypeError: backend.getActivePeriods(...) is undefined

这有什么不对,有人可以帮我吗? THX!

1 个答案:

答案 0 :(得分:2)

您应该从后端文件

中的函数返回promise
getActivePeriods:function(){
            return $.getJSON("files/ajax.php?q=getActivePeriods");

        }