温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

vue中replace有什么含义

发布时间:2021-12-24 11:34:45 来源:亿速云 阅读:297 作者:小新 栏目:编程语言

这篇文章给大家分享的是有关vue中replace有什么含义的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

vue中replace的含义是“替换”,可以用于匹配指定的字符串并替换,或者替换跳转时的记录,语法为“str.replace(regexp/substr,replacement)”或者“router.replace(location)”。

vue中replace有什么含义

本文操作环境: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有什么含义”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

vue
AI