我正在寻找一个根据URL的最后一部分返回HTML class
的函数:
const currentPage = this.$route.path
const pinkPages = [ '/', '/forgot-pass', '/reset-pass' ]
if (pinkPages.indexOf(currentPage) > -1) return 'footer-pink'
它工作正常,问题在于
/reset-pass
实际上最后有更多字符。例如,/reset-pass/123
。如何使URL为
footer-pink
或/reset-pass/1234
或类似的其他模式时函数返回/reset-pass/abcd
? 最佳答案
也许您想使用正则表达式尝试与当前页面匹配?
console.log(matchWith('/forgot-pass'));
console.log(matchWith('/reset-pass/'));
console.log(matchWith('/reset-pass/toto'));
console.log(matchWith('/another'));
function matchWith(page) {
var regex = /(^\/$|\/forgot-pass$|\/reset-pass\/(.*))/
if(page.match(regex))
return true
return false
}
// for your sample
if(matchWith(this.$route.path)) {
return 'footer-pink';
}
看看这个笨蛋,也许是你的答案:https://plnkr.co/edit/sC5VCadDLlRJwH6rpB1T?p=preview
关于javascript - 如何将正则表达式包含在字符串数组中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37178768/