小编Jim*_*Jim的帖子

了解VS2013 MVC 5 SPA模板

我已经开始使用Visual Studio 2013附带的MVC 5的单页应用程序模板.我非常熟悉Knockout.js,虽然我不在,但Sammy.js我一直在阅读它并且它似乎不太适合这一切都很复杂.

我似乎无法理解的是MVC 5 SPA模板如何结合这些技术,或者Visual Studio团队为模板所考虑的内容作为示例; 除了其他方面,模板提供了一个home.viewModel.js应该作为起点的文件,但我似乎无法理解如何使用Sammy.js路径添加更多视图.如果只有他们提供了第二个局部视图和视图模型.

我的问题

所以,短篇小说,我真正的问题是,

  1. 如何以#users模仿提供的方式显示链接到路径的局部视图home.viewmodel.js,以便我可以向后导航#home#users?将在什么Sammy.js路线定义看起来像users.viewModel.js
  2. 我是否需要做一些特殊的事情来启用浏览器后退按钮,或者只要我正确定义了我的路由它就能正常工作?
  3. 它是我还是这个模板感觉是一个半生不熟的例子?

以下代码仅用于额外的参考/上下文,但为了回答问题,可能没有必要.


一些背景

假设我创建了一个局部视图,_Users.cshtml由一个UserControllerMVC控制器而不是WebAPI控制器提供服务,并且我想通过Sammy.js路径显示该局部视图,为此我创建了一个users.viewModel.js.现在...

提供的Index.cshtml视图如下所示:

@section SPAViews {
   @Html.Partial("_Home")
}
@section Scripts{
   @Scripts.Render("~/bundles/knockout")
   @Scripts.Render("~/bundles/app")
}
Run Code Online (Sandbox Code Playgroud)

我认为这意味着应用程序"shell"页面,其中部分视图的其余部分将被加载以替换_Home部分内容 .问题是home.viewmodel.jsSammy路由初始化时没有传入将保存内容的元素的选择器,就像这样

Sammy(function () {
    this.get('#home', function () {
    // more code here
} …
Run Code Online (Sandbox Code Playgroud)

sammy.js knockout.js single-page-application visual-studio-2013 asp.net-mvc-5

14
推荐指数
2
解决办法
3612
查看次数