1

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

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

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

4

1 回答 1

3

我想你可能误解了什么是单页应用程序。它按照与常规网页完全相同的规则进行播放,但您不会离开该页面。

没有窗口之类的东西,它们只是模拟真实应用程序窗口的 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 调用来获取用户数据,或者您可以在开始时加载所有数据并在您希望它们显示时更新它们。

希望这可以帮助。

于 2012-05-21T23:23:40.693 回答