vue全局方法和属性的注册

根据JavaScript原型链的原理,我们可以将全局变量和方法挂在在Vue的父类上,即使用Vue.prototype来挂载。 

例如我们想讲一个路由跳转方法toPath能够全局使用,但又不想每个组件去声明定义一遍,那我们就直接将其挂在Vue.prototype上。

我们在main.js声明Vue时将其挂载上:


import Vue from 'vue'

import App from './App'

import router from './router'

Vue.config.productionTip = false

/* eslint-disable no-new */

Vue.prototype.toPath = function (path) {

  this.$router.push(path);

};

new Vue({

  el: '#app',

  router,

  components: { App},

  template: '<App/>'

});

---------------------

这时候我们就可以在别的组件直接调用了,而不需要额外的声明,如下两种调用方法<template>

  <div class="align-content-center">

    <p>博客地址

      <!--<button type="button" class="close" aria-hidden="true" @click="jump">-->

      <button type="button" class="close" aria-hidden="true" @click="toPath('/')">

        &times;

      </button>

      https://blog.csdn.net/qq_36666651?ref=toolbar

    </p>

  </div>

</template>

<script>

  export default {

    name: "blog",

    methods: {

      jump: function () {

        this.toPath("/");

      }

    }

  }

</script>

<style scoped>

</style>

原文:https://blog.csdn.net/qq_36666651/article/details/80302560

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • vue-cli搭建项目 确保安装了node与npm 再目标文件夹下打开终端 执行cnpm i vue-cli -g...
    Akiko_秋子阅读 3,278评论 1 22
  • 基本格式 以json的形式、将数据(支持所有格式)挂载在vue的data上、方法挂载在vue的methods上。 ...
    kirito_song阅读 791评论 0 21
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,081评论 0 29
  • Vue问得最多的面试题 什么是 mvvm? MVVM 是 Model-View-ViewModel 的缩写。mvv...
    崽崽不哭阅读 686评论 0 8
  • 世界上第一台电子数字式计算机于1946年2月15日在美国宾夕法尼亚大学正式投入运行,它的名称叫ENIAC(埃尼阿克...
    残剑阅读 411评论 2 6