1 回答
TA贡献1780条经验 获得超5个赞
这是 Vue自定义事件的一个很好的用例。我会按如下方式更新您的代码:
#登录模板
...
<div class="login-footer">
<slot name="footer">
<div class="change-mode">
<button class="change-mode-reg" @click="changeModal">Sign up</button>
<div class="change-mode-line"></div>
</div>
</slot>
</div>
...
登录组件
Vue.component('login', {
template: '#login-template',
data() {
return {
loginInput: '',
passwordInput: ''
}
},
methods: {
sendRequest(e) {
//code not here
},
changeModal() {
this.$emit('change');
}
}
});
#应用程序
<div id="app">
<login v-if="showLogin" @close="showLogin = false" @change="changeModal"></login>
<signup v-if="showSignup" @close="showSignup = false"></signup>
</div>
这是一个更新的小提琴。
(注意:看起来您在这里可能还有其他一些问题,但这可以解决您的模式切换问题。)
添加回答
举报