在我的项目中,我需要为应用程序中的所有模块维护一个公共数据对象。
这是我存储所有 REST API 和应用程序范围数据的地方。(类似于 store 在 react redux 中的东西)
数据服务.js
define(['jquery', 'app'], function($, app) {
var url = app.serviceURL;
function loginUser(data) {
data.type = "login";
return $.ajax({
url: url + '/authentication.php',
data: data,
method: "POST"
});
};
function logoutUser(data) {
data.type = "logout";
return $.ajax({
url: url + '/authentication.php',
data: data,
method: "POST"
});
};
return {
actions: {
loginUser: loginUser,
logoutUser: logoutUser
},
user: {
isLoggedIn: ''
}
}
});
我需要dataService.js
文件中的ViewModel
文件来调用login
和logout
服务。
dataService.actions.loginUser(data)
.then(function(data) {
dataService.user.isLoggedIn = true; // I changed the app wide data here
}
});
我的问题是,当我需要dataService
在其他一些 ViewModel 中时,将 的值dataService.user.isLoggedIn
设置为默认值。如何将其保存为应用程序范围的数据?