许多Windows打开的Spa应用程序

时间:2012-05-21 21:49:34

标签: knockout.js asp.net-mvc-4 single-page-application

是否可以在SPA应用程序中使用mvc 4打开许多Windows。

我的意思是我有一个用户列表。打开一个用户让我到一个视图,然后我可以回到相同的视图,打开另一个。然后选择直接转到保存该用户状态的第一个打开的用户。

我不知道你是否理解我的问题。

1 个答案:

答案 0 :(得分:2)

我认为您可能误解了单页应用程序的含义。除了不离开页面外,它的播放规则与常规网页完全相同。

没有像windows这样的东西,它们只是模仿真实应用程序窗口的div。您所描述的完全可能只需要创建正确的div并正确定位/填充它们。例如,前段时间我在KO中编写了一个模仿windows 7外观的窗口管理器。

你可以在这里找到它。

https://github.com/madcapnmckay/Knockout-UI

我会提醒单页应用程序是一个高级主题,在了解其含义之前,您应该非常谨慎地研究它们。

修改

分离viewModel的方法有很多种。我总是有一个主视图模型用于整个应用程序。在你的情况下,我会在javascript中创建一个UserViewModel类,并在将它添加到某个可观察数组之前新建一个新类。

var user1 = new UserViewModel(ajaxdata);
self.users.push(user1);
var user2 = new UserViewModel(ajaxdata);
self.users.push(user2);

<div data-bind="foreach: users">
     <div>
        ... your user window markup goes here
     </div>
</div>

您可以选择使用模板绑定而不是内联模板。至于加载你的数据。您可以在新建UserViewModel之前执行ajax调用以获取用户数据,或者您可以在开始时加载所有数据并在需要时显示新数据。

希望这有帮助。