Vue 中‘$‘符号含义

学习记录

javascript 复制代码
onSubmit() {
      //提交
      //this.$refs.infoForm.validate,这是表单验证
      this.$refs.infoForm.validate(valid => {
        if (valid) {
          console.log(this.infoForm);
          var postPara = this.infoForm;
          this.$api.post("Blog", postPara, r => {
            if (r.success) {
              var id = r.response;
              this.$notify({
                type: "success",
                message: "添加成功,感谢技术分享!",
                duration: 3000
              });
              this.$router.replace(`/content/${id}`);
            } else {
              var errorMsg = r.msg;
              this.$message({
                type: "error",
                message: errorMsg,
                showClose: true
              });
            }
            this.list = r.data;
            this.page = r.page;
            this.TotalCount = r.pageCount;
            this.isShow = false;
          });
        }
      });
    }

分析:

在这个Vue.js方法中,$符号 是Vue实例的属性前缀,用于区分Vue内置的实例属性/方法与用户自定义的属性/方法。

具体含义:

1. this.$refs

  • 作用 :访问模板中通过 ref 属性注册的DOM元素或组件实例

  • 示例this.$refs.infoForm 访问名为 "infoForm" 的表单组件

2. this.$api

  • 作用:通常是自定义挂载到Vue原型上的API请求方法

  • 来源 :在main.js中通过 Vue.prototype.$api = api 添加

3. this.$notify / this.$message

  • 作用:Element UI等UI库提供的通知/消息组件

  • 调用方式:通过Vue实例调用

4. this.$router

  • 作用:Vue Router的路由实例,用于编程式导航

  • 官房文档里是这样说明的:

    通过注入路由器,我们可以在任何组件内通过 this.router 访问路由器,也可以通过 this.route 访问当前路由

    可以理解为:

    this.$router 相当于一个全局的路由器对象,包含了很多属性和对象(比如 history 对象),任何页面都可以调用其 push(), replace(), go() 等方法。

    this.$route 表示当前路由对象,每一个路由都会有一个 route 对象,是一个局部的对象,可以获取对应的 name, path, params, query 等属性。

    原文链接:https://blog.csdn.net/u014395524/article/details/88194842

为什么使用 $ 前缀?

javascript 复制代码
export default {
  data() {
    return {
      userData: '自定义数据',  // 用户自定义数据
      $userData: '不推荐'      // 避免使用$开头,可能与Vue内置属性冲突
    }
  },
  methods: {
    customMethod() {},        // 用户自定义方法
    $customMethod() {}        // 不推荐
  }
}

常见的Vue $ 属性:

属性 用途
$refs 访问模板引用
$router Vue Router实例
$store Vuex store实例
$emit 触发自定义事件
$on 监听事件
$off 移除事件监听
$nextTick DOM更新后执行回调

总结$符号是Vue的命名约定,用于标识Vue实例的内置属性和方法,避免与用户自定义的属性名冲突。

相关推荐
天外飞雨道沧桑19 分钟前
TypeScript 中 omit 和 record 用法
前端·javascript·typescript
Lee川39 分钟前
mini-cursor 揭秘:从 Tool 定义到 Agent 循环的完整实现
前端·人工智能·后端
canonical_entropy1 小时前
从 Spec-Driven Development 到 Attractor-Guided Engineering
前端·aigc·ai编程
研☆香1 小时前
聊聊前端页面的三种长度单位
前端
给钱,谢谢!2 小时前
React + PixiJS 实现果园成长页:从状态机到浇水动画
前端·react.js·前端框架
暗冰ཏོ3 小时前
VUE面试题大全
前端·javascript·vue.js·面试
次元工程师!3 小时前
LangFlow开发(三)—Bundles组件架构设计(3W+字详细讲解)
java·前端·python·低代码·langflow
Bug-制造者4 小时前
现代Web应用全栈开发:从架构设计到部署落地实战
前端
青春喂了后端4 小时前
IntelliGit 前端状态层重构:把一个全局 Store 拆成清晰的状态边界
前端·重构·状态模式
霜落花轻扬4 小时前
在新选项卡中显示链接【html中 target=“_blank“】
前端·html