我正在使用Asp.net MVC和knockoutjs的多租戶約會計劃應用程序。我想在JavaScript代碼模式決定中提供幫助。從服務器,並在JavaScript中我使用knockout mapping plugin創建淘汰賽模式我有以下情形:這個javascript代碼模式是好的嗎?
我越來越複雜的視圖模型(TenantModel名)。
讓我們看看我在我的TenantModel:
TenantModel包含各種複雜的類型,如:
- 列表<EmployeeModel>
- 列表<CustomerModel>
- 列表<ServicesModel>
- 簡介型號
- 等等..
這些複雜的類型可以進一步含有複雜的類型,如:
- EmployeeModel包含服務的列表來自他的管轄。
- ProfileModel包含ContactModel
首先,我會告訴我的努力:
我已經決定在JavaScript代碼中使用Module Pattern。所以,目前在上午的思維來構建我的javascript代碼是這樣的:
var profile = (function() {
var _viewmodel;
var initialize = function() {
//initialize _viewmodel here
};
var bind = function (node) {
ko.applyBindings(_viewmodel, node);
};
return {
initialize: initialize,
bind: bind
};
})();
var employee = (function() {
var _viewmodel;
var initialize = function() {
//initialize _viewmodel here
};
var bind = function (node) {
ko.applyBindings(_viewmodel, node);
};
return {
initialize: initialize,
bind: bind
};
})();
var tenant = (function() {
var _viewmodel;
var initialize = function (jsonTenantModel) {
_viewmodel = ko.mapping.fromJSON(jsonTenantModel, {
'Profile': {
create: function (option) {
//create Profile using profile module
}
},
'Employees': {
create: function (option) {
//create Employees using Employee module
}
}
})
};
var bind = function (node) {
ko.applyBindings(_viewmodel, node);
};
return {
initialize: initialize,
bind: bind
};
})();
,大家好我沒有經驗的JavaScript程序員,但我想寫一個可擴展的和可管理的JavaScript代碼。我想知道那是我正確的方向嗎?或者有沒有其他更好的方法來實現這種場景?
你的模型似乎過於複雜。您應該只傳遞每個視圖實際使用和需要的數據。 – rhughes
看起來你正試圖將JavaScript變成C++的行爲。這會讓你的代碼沉重而繁瑣。我根本不會推薦這種方法。 –
其實我有一個租戶儀表板,租戶可以在其中管理其所有數據,如客戶,服務,員工等,以便查看類似於單頁應用程序,這就是爲什麼我要在該視圖上傳輸所有租戶數據 – gaurav