我正在尝试将elementUI message box与一个简单的组件一起使用。 该组件应仅访问商店并提供用户名:
// 'MyCmp.vue'
<template>
<div>
<p>Name: {{fullname}}</p>
</div>
</template>
<script>
export default {
computed: {
fullname() {
return this.$store.getters.fullname;
}
}
};
</script>
但是问题是我可以在框中看到硬编码的字符串:“名称”,但是由于$store
是this
,所以无法访问undefined
。这是我的消息框的完整代码:
showMessageBox(userAction) {
const h = this.$createElement;
MessageBox.prompt(this.$t("insertEmail"), {
message: h(myCmp, {key: this.key++}))
})
.then(({ value }) => {
console.log("in");
MessageBox.message({
type: "success",
message: "yourEmailIs" + value
});
})
.catch(() => {
console.log("error");
MessageBox.message({
type: "info",
message: "cancel"
});
});
}
我希望它能根据文档和这份官方文档jsfiddle正常工作
他们提供,我在实施过程中遵循。
知道为什么我无法访问$store
/ this
在组件内部未定义吗?
更新: jsfiddle