我想通过创建一个名为 instance 的模块在不同模块之间共享一些数据dataService
,将变量放入其中,然后将此模块作为依赖项插入其他模块中。这是代码(不起作用):
define('dataService', function () {
var quotes = [];
return {
quotesArray: quotes,
};
});
require(['dataService'], function (dataService) {
dataService.quotesArray {1, 2, 3}; // setting the quotes variable
});
define('otherModule', ['dataService'], function (dataService) {
var x = dataService.quotesArray; // x = empty Array, why?
});
这是解决方法:
define('dataService', function () {
var quotes = [];
var getQuotes = function () {
return quotes;
};
var setQuotes = function (newQuotes) {
quotes = newQuotes;
};
return {
getQuotes: getQuotes,
};
});
require(['dataService'], function (dataService) {
var x = dataService.getQuotes(); // now I can get/set the quotes variable
dataService.setQuotes();
});
我只是想知道这是否是使某些数据在不同模块中可访问的正确方法?
为什么第一个选项不起作用?