将vue-material组件扩展到我自己的组件中

时间:2017-02-06 16:20:07

标签: vuejs2 vue-material

我想扩展Vue-Material组件,以便我可以在项目中抽象它们;例如有一个名为“my-icon”的图标组件,它只会继承/扩展md-icon组件。所以在我的项目中,我可以使用,它只需使用md-icon。

我尝试用:

创建MyIcon / index.js
import VueMaterial from 'vue-material';

export default function install(Vue) {    
    Vue.component('my-icon', Vue.extend(VueMaterial.mdIcon));
}

得到了错误:

  

[Vue警告]:无法安装组件:模板或渲染函数未定义。

我真的希望能够扩展这些组件,而无需为每个组件定义模板,因为这会重复很多工作。在一个完美的世界中,我可以使用现有的vue-material组件,将它们重命名为我想要的,并且能够通过覆盖模板来扩展功能。这样,我可以在大多数工作中使用vue-material组件,并在需要时添加/替换而无需修改我的上游工作。

有没有人对此有任何建议/想法?

1 个答案:

答案 0 :(得分:1)

您可以通过实际重新使用它们来扩展组件。

<template>
 <div class="myCustomIcon">
   <md-icon></md-icon>
 </div>
</template>
import VueMaterial from 'vue-material';

export default{
 components:{
  mdIcon
 }
}