Vue.js 如何从组件vue更改主vuetify应用程序中的值
我有两个vue文件,app.vue和logincomponent.vue 我使用logincomponent.vue制作了一个模板,该模板可以登录到邮箱中,并使用脚本与wails中的go后端通信,代码本身可以工作,但我试图更改main app.vue中的值,但我无法使其工作 问题是: “如何从组件更改主vue应用程序中变量的值?” 进口: 变量: 塞特:Vue.js 如何从组件vue更改主vuetify应用程序中的值,vue.js,vuejs2,Vue.js,Vuejs2,我有两个vue文件,app.vue和logincomponent.vue 我使用logincomponent.vue制作了一个模板,该模板可以登录到邮箱中,并使用脚本与wails中的go后端通信,代码本身可以工作,但我试图更改main app.vue中的值,但我无法使其工作 问题是: “如何从组件更改主vue应用程序中变量的值?” 进口: 变量: 塞特: 父组件(或主Vue实例)的状态是否可以从子组件更改的简短回答是否,或者至少不应该这样做。这是一种反模式,可能会在代码中产生错误 但你有两个选择
父组件(或主Vue实例)的状态是否可以从子组件更改的简短回答是否,或者至少不应该这样做。这是一种反模式,可能会在代码中产生错误 但你有两个选择
- 从子组件发出事件,并从父组件处理它。因此,父级负责用自己的逻辑更改自己的状态。 当您需要更改子组件中主实例的值时,您会发出事件,即使有可以传递给emit函数的值,您也会对主实例进行编程,以侦听该事件并做出相应的响应。 更多信息请点击此处:
- 将Vuex应用商店添加到应用程序。通过这种方式,您可以抽象出应用程序的状态,这些状态对于几个组件来说是通用的。因此,您的子组件可以要求存储更改某些状态。 更多信息请点击此处: 使用Vuex更复杂,如果你的应用程序简单,我会选择第一个选项
import LoginScreen from "./components/LoginScreen.vue"
data: () => ({
drawer: false,
currentScreenID: 0,
logged: false
sendLogin: function () {
var self = this;
if (this.$refs.login_form.validate()) {
self.dialog = true;
self.loadingCircleLogin = true;
self.login_dialog_title = self.login_dialog_logging_title;
window.backend.sendLoginToBackend(self.email, self.password, self.remember_email).then(result => {
if (result === false) {
self.loadingCircleLogin = false;
self.loginFailText = true;
self.login_dialog_title = self.login_dialog_error_title;
} else {
self.dialog = false;
self.currentScreenID = 3;
}
})
}
},