-1
我想將位置散列中的內容映射到字符串。映射必須基於下面的模式(:佔位符可以是任意數字,也許是RegEx?)。在函數中處理這個問題的最好方法是什麼?如何將哈希模式映射到字符串值?
'news/:NewsID/dup' => 'newsDuplicate',
'news/:NewsID' => 'newsDetail',
'news/:NewsID/authors' => 'authorsList',
'news/:NewsID/authors/' => 'authorsList',
'news/:NewsID/authors/create' => 'authorsCreate',
'news/:NewsID/authors/:AuthorID' => 'authorDetail',
'news/:NewsID/authors/:AuthorID/orders' => 'orders',
'news/:NewsID/authors/:AuthorID/workflow' => 'workflow',
'news/:NewsID/authors/:AuthorID/tags' => 'tags'
我想強調在導航正確的按鈕,並希望像handleNav函數(),這將突顯基於模式右鍵。
例如,當在http://mydomain.com#!news/123/authors/987,那麼我就可以做這樣的事情:
function handleNav() {
var current = ?? //get mapped string above
$('button.' + current).addClass('active').siblings().removeClass('active');
}
如何獲得基於上述映射「當前」變量?不知道一堆if-else語句是否是最好的方法,我不知道很多正則表達式。感謝您的幫助或見解。
你是什麼意思的「在一個函數」。你爲什麼不製作一個典型的JavaScript對象?你是否想要從位置動態生成值? –
我沒有看到太多的模式 –
這是爲骨幹路由? –