Vuejs2 Vue2.js-在自定义插件中使用自定义组件-如何传递道具?
我试图制作一个插件,只是为了显示一个带有自定义个性化设置的模式div,所以我想到了一个带有自定义组件的插件。这个想法是调用应该显示模式框(组件)的插件,但我不知道如何将插件方法道具传递给组件 我有这个插件Vuejs2 Vue2.js-在自定义插件中使用自定义组件-如何传递道具?,vuejs2,Vuejs2,我试图制作一个插件,只是为了显示一个带有自定义个性化设置的模式div,所以我想到了一个带有自定义组件的插件。这个想法是调用应该显示模式框(组件)的插件,但我不知道如何将插件方法道具传递给组件 我有这个插件 import Modal from './components/Modal' const ModalComponent = { install (Vue) { Vue.component('modal', Modal) Vue.mixin({ data ()
import Modal from './components/Modal'
const ModalComponent = {
install (Vue) {
Vue.component('modal', Modal)
Vue.mixin({
data () {
return {
status: null,
modalMessage: null,
show: false
}
},
component: {
Modal
},
methods: {
setMessage (status, modalMessage) {
console.log(status)
console.log(modalMessage)
this.status = status
this.modalMessage = modalMessage
this.show = true
}
}
})
}
}
export default ModalComponent
我可以用这种方式调用我其他组件中的插件this.setMessage(res.status,res.message)
组件是这样的
<template>
<b-modal
v-model="show"
centered
cancel-disabled
:title="title"
:header-bg-variant="header_bg"
><p class="my-4">{{modalMessage}}</p>
</b-modal>
</template>
<script>
export default {
name: "modal",
data() {
return {
show: false,
title: null,
modalMessage: null,
header_bg: null
}
},
props: {
show: Boolean,
title: String,
modalMessage: String,
header_bg: String
}
}
</script>
{{modalMessage}
导出默认值{
名称:“模态”,
数据(){
返回{
秀:假,,
标题:空,
modalMessage:null,
头文件\u bg:null
}
},
道具:{
显示:布尔,
标题:字符串,
modalMessage:String,
标题\u bg:字符串
}
}
如何告诉组件使用插件中的道具进行显示?我错过了在使用插件方法时向它发送道具的文章。问题似乎是你的插件没有生成任何元素。您正在使用mixin在每个组件上创建一个方法,但这将假定每个组件的模板都有一个
我会建议一种不同的方法。。。
在主模板中,添加模态的实例。然后可以使用某种全局状态。我更喜欢使用
vuex
,因为您可以使用vuex状态来管理道具,并使用全局可用的操作(commit
)和所需的负载。或者,您可以使用vue内部构件来修改状态,但如果您已经在使用vuex,这可能是最简单的选择。问题似乎在于您的插件没有生成任何元素。您正在使用mixin在每个组件上创建一个方法,但这将假定每个组件的模板都有一个
我会建议一种不同的方法。。。
在主模板中,添加模态的实例。然后可以使用某种全局状态。我更喜欢使用vuex
,因为您可以使用vuex状态来管理道具,并使用全局可用的操作(commit
)和所需的负载。或者,您可以使用vue内部构件修改状态,但如果您已经在使用vuex,这可能是最简单的选项