zoukankan      html  css  js  c++  java
  • 【Vue】全局API之Vue.extend讲解用法

    Vue.extend( options )

    该方法通俗点讲就是可以将你的vue模板代码单独使用,vue扩展性的一个体现,因为一般你的项目中只有一个 new Vue(),比如这时候让你用vue模板技术实现一个全局消息提示函数 hint(),怎么做?先看一个简单demo

    // Vue.extend 简单入门示例
    const Com = Vue.extend({
      template: `<h1 @click="handleClick">{{msg}}</h1>`,
      data() {
        return {
          msg: 'Hello Vue.extend'
        }
      },
      methods: {
        handleClick() {
          this.msg = this.msg.split('').reverse().join('')
        }
      }
    })
    document.body.appendChild(new Com().$mount().$el)
    Vue.extend()参数跟创建组件一个,是一个配置对象,会返回一个vue组件构造器,我们可以实例它获取到它的组件实例对象,从而调用$mount()方法获取它有挂载点的vm实例,
    在调用 $el()方法获取道dom对象,然后添加道body,结果如下:


    简单案例实现 hint 提示函数
    function hint({ title = '', content = '' }) {
      const Hint = Vue.extend({
        template: `<div v-if="isHide"><h3>{{title}}</h3>{{content}}</div>`,
        data() {
          return {
            title: title,
            content: content,
            isHide: true
          }
        },
        mounted() {
          setTimeout(() => (this.isHide = false), 1000)
        }
      })
      const h = new Hint()
      document.body.appendChild(h.$mount().$el)
    }
    
    hint({
      title: 'Notice',
      content: 'Hello Hint!'
    })

    显示提示然后 2秒后消失

  • 相关阅读:
    perl自定义简易的面向对象的栈与队列类
    java idea实现.java文件编译成class并运行
    git代码管理及提交
    k8s和docker的区别
    pycharm查看代码结构的方法
    ssh 登录的方式
    excel分析数据绘制统计直方图
    linux普通用户使用yum安装nginx,并使用nginx
    iterm2 + virtualbox + centos环境搭建
    python源码安装
  • 原文地址:https://www.cnblogs.com/bc8web/p/5767548.html
Copyright © 2011-2022 走看看