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实例的内置属性和方法,避免与用户自定义的属性名冲突。

相关推荐
麦麦大数据2 小时前
F032 材料科学文献知识图谱可视化分析系统(四种知识图谱可视化布局) | vue + flask + echarts + d3.js 实现
vue.js·flask·知识图谱·数据可视化·论文文献·1024程序员节·科研图谱
web打印社区4 小时前
使用React如何静默打印页面:完整的前端打印解决方案
前端·javascript·vue.js·react.js·pdf·1024程序员节
喜欢踢足球的老罗4 小时前
[特殊字符] PM2 入门实战:从 0 到线上托管 React SPA
前端·react.js·前端框架
小光学长4 小时前
基于Vue的课程达成度分析系统t84pzgwk(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
前端·数据库·vue.js
Baklib梅梅5 小时前
探码科技再获“专精特新”认定:Baklib引领AI内容管理新方向
前端·ruby on rails·前端框架·ruby
南方以南_5 小时前
Chrome开发者工具
前端·chrome
YiHanXii5 小时前
this 输出题
前端·javascript·1024程序员节
楊无好5 小时前
React中ref
前端·react.js
维他命Coco5 小时前
js常见开发学习
javascript
程琬清君5 小时前
vue3 confirm倒计时
前端·1024程序员节