我正在添加一个刷新按钮。如何将组件A中的1传递给组件B?我试着添加return NameAdmin.methods.refreshPage(1);,但是它没有被通过。我可以在refresh adminName Page中看到console.log。
这是组件A: NameAdmin
methods: {
refreshPage() // refreshPage(1) doesn't work
{
console.log('refresh adminName Page');
this.getData(1);
},
}
这是构成部分B
import NameAdmin from "./NameAdmin";
Computed: {
refreshAction()
{
switch (this.$route.name) {
case "office":
return 'buildingData';
case "audienceadmin":
return NameAdmin.methods.refreshPage();
case "testing":
return null;
}
return null;
},
refreshPage()
{
if (!this.refreshAction) return;
if(typeof this.refreshAction === "function") this.refreshAction();
else this.$store.dispatch(this.refreshAction);
},
},
}<template>
<refresh-button
id="refresh-button"
:class="refresh-style"
@on-refresh="refreshPage"
/>
</template>
我如何修正我的代码,或如何以不同的方式编码,请让我知道!如有任何建议,敬请谅解!
发布于 2022-11-17 07:25:36
假设其中两个组件互不相关(不是父-子关系等),您将不得不像用户所声明的那样使用状态管理。
由于您使用的是vue2,所以您必须使用vuex
state management使用的一个常见例子是电子商务网站上的购物车。
例如,我去了Shop A,在购物车上添加了XYZ产品,然后去了Shop B,将LMN产品添加到我的购物车中。当我查看购物车时,它将包含( XYZ产品)和LMN产品。这要归功于state management,就像vuex提供的一样。
阅读文档,了解如何工作的更多信息,因为它需要安装。
我希望这能帮到你!
https://stackoverflow.com/questions/74470722
复制相似问题