我已经开始使用Visual Studio 2013附带的MVC 5的单页应用程序模板.我非常熟悉Knockout.js
,虽然我不在,但Sammy.js
我一直在阅读它并且它似乎不太适合这一切都很复杂.
我似乎无法理解的是MVC 5 SPA模板如何结合这些技术,或者Visual Studio团队为模板所考虑的内容作为示例; 除了其他方面,模板提供了一个home.viewModel.js
应该作为起点的文件,但我似乎无法理解如何使用Sammy.js
路径添加更多视图.如果只有他们提供了第二个局部视图和视图模型.
所以,短篇小说,我真正的问题是,
#users
模仿提供的方式显示链接到路径的局部视图home.viewmodel.js
,以便我可以向后导航#home
到#users
?将在什么Sammy.js
路线定义看起来像users.viewModel.js
?以下代码仅用于额外的参考/上下文,但为了回答问题,可能没有必要.
假设我创建了一个局部视图,_Users.cshtml
由一个UserController
MVC控制器而不是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.js
在 Sammy
路由初始化时没有传入将保存内容的元素的选择器,就像这样
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