vue extends继承后修改template的解决方案

news/2024/7/23 23:55:38 标签: vue.js, 前端, javascript

vue extends继承后怎么注入虚拟DOM节点

1.需求

使用extends继承一个组件并在上面做功能的修改和扩展,同时需要小小修改一部分的template。

2.问题

直接写template的话会将原本的模板全部覆盖掉,但是copy并重写一次template又做了很多无用功显得不够优雅,也失去了继承的意义。

3.解决

暂时没有太完美的方法,目前可用的方案就是【劫持插槽】。
比如继承过来的代码中有一处具名插槽footer,我的需求是在这个位置添加上几个按钮,那么我的代码可以相下面这样处理:

import basenewComponent from '***********';
export default {
    name: 'newComponent',
    extends: basenewComponent ,
    methods:{
    	distribute(){},
    },
    render(h) {
        this.$slots.footer = [// 在这儿绘制的底部按钮
            h('el-button', {
                attrs: {
                    type: 'primary',
                    disabled: !this.canSubmit,
                },
                on: {//事件
                    click: () => { this.distribute(false); },
                },
            }, '新按钮1'),
            h('el-button', {
                on: {
                    click: () => { this.distribute(true); },
                },
            }, '新按钮2'),
            h('el-button', {
                on: {
                    click: () => { this.visible = false; },
                },
            }, '取消'),
        ];
        return basenewComponent.render.call(this, h);
    },
};

http://www.niftyadmin.cn/n/1355198.html

相关文章

python3解释器执行long(10)_Python3.X全栈-Day10-PycharmIDE初识及运算符、字符串的介绍...

01 python全栈s3 day10 上节内容回顾以及补充02 python全栈s3 day10 上周作业实现03 python全栈s3 day10 Pycharm的安装和使用04 python全栈s3 day10 Python 运算符(一)05 python全栈s3 day10 Python 运算符(二)06 python全栈s3 day10 Python 运算符以及总结07 python全栈…

css transition回调

css transition回调 需求 需要在一个css css transition执行完毕之后执行一个回调的方法。 解决 可以用window.addEventListener(‘transitionend’);监听到transition执行完毕。 存在的问题 当前页面中所有的transition执行完毕后都会触发该监听,使用的时候需…

python批量抢单_用Python完成毫秒级抢单,助你秒杀淘宝大单

目录:引言环境需求分析&前期准备淘宝购物流程回顾秒杀的实现代码梳理总结0 引言年中购物618大狂欢开始了,各大电商又开始了大力度的折扣促销,我们的小胖又给大家谋了一波福利,淘宝APP直接搜索:小胖发福利&#xff…

VUE+H5跨组件元素拖拽并传递数据;拖拽结束自动计算布局;以及如何配合element的可拖拽tree使用

VUEH5跨组件元素拖拽并传递数据;拖拽结束自动计算布局;以及如何配合element的可拖拽tree使用 1.vueH5实现跨组件拖拽与数据传递思路: (1)可拖拽组件元素的dragstart事件中,将相关数据暂存在vuex&#xff…

python post json_Python从POST方法中获取JSON

||我有一个Android应用程序,最初将一些json格式的字符串发布到python cgi脚本中,但一切正常。问题是当json对象包含列表时,然后当python(使用simplejson)获取列表时仍将它们视为大字符串这是json到达python之前我解析之前的文本转储&#xff…

【js】获取树的所有路径

【js】获取树的所有路径 需求: 现在有一个数据结构为树的数据,希望获得这棵树上的所有路径并将结果输出为一个数组。 实现思路: 查找路径:树有多少个叶子节点就有多少个条路径,从这一点出发,可以选用深…

python 没有控件_请教:PYTHON有没有界面控件识别的库

tkinter教程之optionmenu篇#optionmenu为可选菜单,与combox功能类似。1.创建optionmenu# -*- coding: cp936 -*-from tkinter import *root tk()v stringvar(root)v.set(python)om optionmenu(root,v,python,php,cpp,c,java,javascript,vbscript)om.pack()root.m…

vue项目开发时,怎么让vscode提示@/的路径(vscode解决路径别名的路径提示)

vue项目开发时,怎么让vscode提示/的路径(vscode解决路径别名的路径提示) 问题 开发过程中,有时候使用作为根目录下的src路径的别称进行资源引入,编辑器不会像是正常输入路径是给提示,导致对路径不是很熟悉…