2014-09-04 22 views
1

不知道如何將這個問題說出來,這可能是爲什麼我在通過stackoveflow查看解決方案時沒有找到解決方案。但是...Meteorjs JavaScript文件不執行(需要刷新)

當我嘗試實現類似於在此處找到的示例,將活動類附加到導航鏈接(https://coderwall.com/p/ahlrua)的代碼時,有時必須在導航到新頁面後點擊刷新以查看該鏈接實際上處於活動狀態。我的猜測是,因爲js文件已經加載到客戶端,所以當我導航到新頁面時,沒有後續的文件調用?如果是這種情況,即使不是這樣,我該如何解決這個問題?

我提到的這種行爲在我使用Meteorjs時發生在其他地方,即我的麪包屑總是需要刷新後才能進入新頁面。我對這個框架相當陌生,所以請原諒我的無知。

下面是我的工作,我的臨時站點有這個/這些問題:http://jdd.meteor.com/

預先感謝您爲您的時間和考慮:)

回答

2

需要刷新瀏覽器中看到活動鏈接因爲負責激活鏈接的代碼是不是反應:

// Get the current path for URL 
curPath = function() { 
    var c = window.location.pathname; 
    var b = c.slice(0, -1); 
    var a = c.slice(-1); 
    if(b === "") { 
    return "/"; 
    } else { 
    if(a === "/") { 
     return b; 
    } else { 
     return c; 
    } 
    } 
}; 

時,當window.location.pathname改變模板被渲染不它只檢查的URL。

可能的解決方案之一是將IronRouter與包IronRouterActive一起使用。

用法很簡單:

<nav> 
    <ul> 
     <li class="{{ isActiveRoute 'dashboard' }}">...</li> 
     <li class="{{ isActiveRoute 'dashboard|root' }}">...</li> 
     <li class="{{ isActiveRoute 'users' 'on' }}">...</li> 
     <li class="{{ isActivePath 'products' }}">...</li> 
    </ul> 
</nav> 

Example source

+0

感謝我給一個去。但是,這個問題遍及我的網站的其他方面(即麪包屑)。也許當我研究這一點時,它也可以彌補這種情況。今天晚些時候會嘗試。再次感謝。 – TheGarden 2014-09-04 20:35:58

相關問題