为什么这个单例并且无法访问其他服务?

时间:2013-07-10 17:39:32

标签: mvvm requirejs single-page-application durandal

在我的应用程序中,我引用了名为hub.js的单例AMD - 定义如下:

// hub.js
define(['services/dataservice'], function (dataservice) {
// list of properties
// dataservice === undefined - why?
}

我通过这样包含它来引用其他vms:

define(['durandal/app', 'services/dataservice', 'durandal/plugins/router', 'services/hub' ], function (app, dataservice, router, hub) {

但我需要从我的中心访问我的dataservice,正如您在第一个片段中看到的那样。尽管使用与其他vms完全相同的语法,但对于来自集线器内的dataservice的引用都是undefined

如果我使用与services / dataservice不同的路径,那么我找不到404,所以看起来JS看到了该文件,但由于某种原因,它并没有将它加载到这个单例中。

发生了什么?