【问题标题】:Magic in navigation between views in ASP.NET MVC 5 Single Page Application templateASP.NET MVC 5 单页应用程序模板中视图之间导航的魔力
【发布时间】:2014-03-13 23:30:44
【问题描述】:

我正在 Visual Studio 2013 中检查 ASP.NET MVC 5 单页应用程序项目模板。 我试图了解如何处理视图之间的导航。 我在代码中对此一无所知(是的,全局视图模型中有一个 View 属性,并且导航方法会更改它,但是在哪里使用此视图?)。

但是在实践中尝试,我发现开头和结尾的此类 cmets 很重要,如果它们不存在 - 这种特殊的观点将一直显示。如果它们存在 - 只有当 bindingMemberName 匹配时才会显示。

<!-- ko with: bindingMemberName -->
<!-- /ko -->

这些cmets如何控制视图的外观???

【问题讨论】:

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


【解决方案1】:

您会在 app.viewmodel.js 文件中找到

if (typeof (options.navigatorFactory) !== "undefined") {
        navigator = options.navigatorFactory(self, dataModel);
    } else {
        navigator = function () {
            window.location.hash = options.bindingMemberName;
        };
    }

    // Add navigation member to AppViewModel (for example, app.NavigateToHome());
    self["navigateTo" + options.name] = navigator;

它构建了一个为您导航的函数列表,请注意在 home.viewmodel.js 文件(以及您自己添加的任何内容)的底部必须包含

app.addViewModel({
   name: "Home",
   bindingMemberName: "home",
   factory: HomeViewModel
})

将它们联系在一起。

【讨论】:

    猜你喜欢
    • 2016-09-09
    • 1970-01-01
    • 2016-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多