[英]MVC 5 Using spa template cannot get to display views
我遇到的問題是我的所有視圖都顯示出來了。 (沒有js錯誤)無論如何,當我去產品或家里時,兩個視圖都顯示出來,我不明白為什么。 是不是ko:應該限制一個或另一個視圖? 我錯過了什么?
Index.cshtml
@section SPAViews {
@Html.Partial("_Home")
@Html.Partial("_Products")
}
@section Scripts{
@Scripts.Render("~/bundles/knockout")
@Scripts.Render("~/bundles/app")
}
_Home.cshtml
<!-- ko with: home -->
...
<!-- /ko -->
_Products.cshtml
<!-- ko with: products -->
...
<!-- /ko -->
products.viewmodel.js
function ProductsViewModel(app, dataModel) {
var self = this;
self.query = ko.observable();
Sammy(function () {
this.get('#products', function () {
$.ajax({
method: 'get',
url: app.dataModel.productsUrl,
contentType: "application/json; charset=utf-8",
success: function (data) {
console.log(data);
self.query(data.query);
}
});
})
});
return self;
}
app.addViewModel({
name: "Products",
bindingMemberName: "products",
factory: ProductsViewModel
});
home.viewmodel.js
function HomeViewModel(app, dataModel) {
var self = this;
Sammy(function () {
this.get('#home', function () {
console.log('home');
});
this.get('/', function () { this.app.runRoute('get', '#home') });
});
return self;
}
app.addViewModel({
name: "Home",
bindingMemberName: "home",
factory: HomeViewModel
});
捆綁:
bundles.Add(new ScriptBundle("~/bundles/app").Include(
"~/Scripts/sammy-{version}.js",
"~/Scripts/app/common.js",
"~/Scripts/app/app.datamodel.js",
"~/Scripts/app/app.viewmodel.js",
"~/Scripts/app/home.viewmodel.js",
"~/Scripts/app/products.viewmodel.js",
"~/Scripts/app/_run.js"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.