简单的Javascript无法在我的spa应用程序中运行

时间:2013-06-25 15:24:10

标签: javascript .net asp.net-mvc-4 single-page-application durandal

我正在使用John Papa的Hot Towel模板。我有一个名为nav.html的html视图,其中包含我的spa的标题部分。在其中,我需要显示登录到系统的人的名字(我有一个处理查询的服务器端实用程序类)。
以下内容来自nav.html视图中的html: data-bind =“text:LoggedInAs”

这是viewmodel代码(nav.js) -

define(['services/logger'], function (logger) {
    var vm = {
        activate: activate,
        title: 'Nav View'
    };

    return vm;

    //#region Internal Methods
    function activate() {
        logger.log('Nav View Activated', null, 'Nav', true);
        return true;
    }
    //#endregion
});

我的问题是我不知道该怎么做。我尝试将nav.js添加到我的viewmodels文件夹,但是javascript没有运行。我认为durandal会像其他视图模型一样拾起它。 nav.js和其他视图模型之间的唯一区别是,通过单击链接(通过route.mapnav连接)触发其他视图模型。

我在这里缺少什么?如何在没有用户点击链接的情况下运行javascript?当页面加载时,我需要运行nav.js才能填充LoggedInAs数据绑定。

1 个答案:

答案 0 :(得分:0)

确保您正在激活导航视图。在上面的评论中给出的示例代码中,它需要是:

<header> <!--ko compose: {view: 'nav', activate: true} --><!--/ko--> </header>