我试图弄清楚如何开始新页面的一些结构。
该页面名为“Orders”,现在将有几个选项卡:“OrdersTab”和“TasksTab”
我的布局设置如下:
//Namespace for the 'Orders' page.
var Orders = (function () {
"use strict";
var tabs = $('#OrdersTabs').tabs();
var ordersTab = new OrdersTab();
var tasksTab = new TasksTab();
//Public methods:
return {
};
})(); //Load when ready.
我的意图是让 Orders 命名空间负责加载选项卡。我正在努力理解如何将我的 OrdersTab 和 TasksTab 保持在与 Orders 相同的“命名空间”中。理想情况下,另一个页面将无法实例化 OrdersTab。
//Namespace for the 'OrdersTab' from the 'Orders' page.
function OrdersTab() {
"use strict";
var ordersGrid = $('#OrdersGrid');
var ordersGridPager = $('#OrdersGridPager');
ordersGrid.jqGrid({
url: '../Orders/GetOrders/',
datatype: 'json',
colNames: ['Name', 'Description'],
colModel: [
{ name: 'Name', index: 'Name', sortable: false, width: 150 },
{ name: 'Description', index: 'Description', sortable: false, width: 300 }
],
gridview: true,
height: 'auto',
rowNum: 10,
pager: ordersGridPager,
viewrecords: true
});
//Public methods:
return {
};
};
Orders 位于 Orders.js 中,而 OrdersTab 位于 OrdersTab.js 中。在我看来,一个新的 OrdersTab 可能是由其他人“意外”创建的,或者函数名称意外地变得模棱两可。是否可以将 OrdersTab 包含在 Orders 的“命名空间”中,同时将其保存在单独的文件中?我认为如果每个选项卡都比预期的大/允许将来引入其他选项卡,则需要单独的文件。
此外,我想知道是否可以在两个文件之间使用相同的设置结构。对我来说,我为 Orders 分配一个变量似乎很尴尬,但只是使用 OrdersTab 创建一个函数。也许这是可以的和标准的,不过,我只是想知道。