自定义组件 box.vue
methods: {
cancleBtn () {
this.show = false;
},
successBtn () {
this.show = false,
this.addMemberList = this.resultList;
self.$store.commit("addMemberList", this.addMemberList);
},
}
对应的js 如下
let transferBox = (options = {}) => {
let transferBoxConstructor = Vue.extend(transferBoxComponent)
let instance = new transferBoxConstructor({
el: document.createElement('div')
})
document.body.appendChild(instance.$el)
// 将单个 confirm instance 的配置合并到默认值中
Object.assign(instance.$data, options)
return new Promise((resolve, reject) => {
instance.show = true
let successBtn = instance.successBtn
let cancelBtn = instance.cancelBtn
instance.successBtn = () => {
resolve()
successBtn()
}
instance.cancelBtn = (err) => {
reject(err)
cancelBtn()
}
})
}
在其他组件中引用
通过上述方式调用,调用后会弹出模态框,点击模态框中确定按钮,将模态框中数据传递至当前组件中,但是使用vuex commit 一直报 commit not defined
successBtn () {
this.show = false,
this.addMemberList = this.resultList;
conole.log(this);
elf.$store.commit("addMemberList", this.addMemberList);
},
打印this,发现没有store 这个对象,求原因
另外,查了下
在自定义组件的created中
created () {
self = this;
}
仍然无法获取 store 对象
求原因
导入了store没