您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關vue中replace有什么含義的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
vue中replace的含義是“替換”,可以用于匹配指定的字符串并替換,或者替換跳轉時的記錄,語法為“str.replace(regexp/substr,replacement)”或者“router.replace(location)”。
本文操作環境:windows10系統、Vue2.9.6版,DELL G3電腦。
vue.js源碼replace方法
/** * Camelize a hyphen-delimited string. */ var camelizeRE = /-(\w)/g; var camelize = cached(function (str) { return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; }) }); /** * Hyphenate a camelCase string. */ var hyphenateRE = /\B([A-Z])/g; var hyphenate = cached(function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase() });
語法
str.replace(regexp|substr, newSubStr|function)
參數
regexp (pattern)
一個RegExp 對象或者其字面量。該正則所匹配的內容會被第二個參數的返回值替換掉。
substr (pattern)
一個將被 newSubStr 替換的 字符串。其被視為一整個字符串,而不是一個正則表達式。僅第一個匹配項會被替換。
newSubStr (replacement)
用于替換掉第一個參數在原字符串中的匹配部分的字符串。該字符串中可以內插一些特殊的變量名。參考下面的使用字符串作為參數。
function (replacement)
一個用來創建新子字符串的函數,該函數的返回值將替換掉第一個參數匹配到的結果。參考下面的指定一個函數作為參數。
replace文檔查看
第一種camelize轉換方法:
replace指定一個函數作為參數,通過控制臺看他輸出的內容
上述可以看出replace通過全局正則匹配,類似于exex和test的lastIndex實現
vue源碼中的replace會全局匹配,運行函數體進行newStr的替換
第二種hyphenateRE轉換使用特殊變量名$參數
描述
該方法并不改變調用它的字符串本身,而只是返回一個新的替換后的字符串。
在進行全局的搜索替換時,正則表達式需包含 g 標志。
使用字符串作為參數
替換字符串可以插入下面的特殊變量名:
變量名 代表的值
$$ 插入一個 “$”。
$& 插入匹配的子串。
$` 插入當前匹配的子串左邊的內容。
$’ 插入當前匹配的子串右邊的內容。
$n 假如第一個參數是 RegExp對象,并且 n 是個小于100的非負整數,那么插入第 n 個括號匹配的字符串。提示:索引是從1開始
eg:正則全局匹配非單詞邊界,在這里匹配連字符+大寫字母,然后-$1全局替換
router.replace(location)
設置 replace 屬性(默認值: false)的話,當點擊時,會調用 router.replace() 而不是 router.push(),于是導航后不會留下 history 記錄。即使點擊返回按鈕也不會回到這個頁面。
加上replace: true后,它不會向 history 添加新記錄,而是跟它的方法名一樣 —— 替換掉當前的 history 記錄。
//聲明式: <router-link :to="..." replace></router-link> // 編程式: router.replace(...) //push方法也可以傳replace this.$router.push({path: '/home', replace: true})
感謝各位的閱讀!關于“vue中replace有什么含義”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。