0

我使用約翰帕帕的熱毛巾模板。我有一個名爲nav.html的html視圖,其中包含我的水療中心的標題部分。在那裏,我需要顯示登錄到系統的人的名字(我有一個處理查詢的服務器端實用程序類)。
下面是用於但─ 數據綁定的nav.html查看HTML = 「文本:LoggedInAs」簡單的JavaScript不工作在我的水療中心應用程序

這裏是視圖模型碼(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不運行。我認爲杜蘭達爾會像其他視角模型一樣把它撿起來。 nav.js和其他視圖模型之間的唯一區別是其他視圖模型是通過單擊鏈接(通過route.mapnav進行佈線)來觸發的。

我在這裏失蹤了什麼?如何讓用戶不點擊鏈接就運行javascript?當頁面加載時,我需要運行nav.js以填充LoggedInAs數據綁定。

+0

您是否在shell中包含了nav-view?如果它不是頁面的一部分,它將不會被加載。 – Kenneth

+0

Ken-我沒有 -

<! - ko compose:{view:'nav'} - >
Chris

回答

0

確保您正在激活導航視圖。在上面的註釋中給出的示例代碼中,它將需要如下所示:

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

activate:true is missing。它仍然不會觸及nav.js。所以,我認爲你解決了這個問題的一部分,只剩下一個缺失。想法?另外,當我嘗試在nav.js中設置斷點時,我得到'沒有符號已經加載'。謝謝! – Chris

+0

我現在唯一能想到的就是虛擬機沒有正確定位。我更喜歡將視圖和視圖模型放在一起放在同一個文件夾中,也許試試? 另外,我強烈建議使用Chrome開發人員工具來調試JavaScript而不是VS. http://stackoverflow.com/questions/15789025/setting-breakpoints-in-viewmodels-in-durandal/15792756#15792756 –

相關問題