Templates 基于ajax结果的带v-if的vue模板
i daymic render template元素使用ajax函数更改数据,Templates 基于ajax结果的带v-if的vue模板,templates,vue.js,Templates,Vue.js,i daymic render template元素使用ajax函数更改数据, 但实际上,它不会立即更新视图,以下是伪代码: <template v-if="userInfo.nickName"> <div class="base-info" v-show="userInfo.nickName"> <p>欢迎,{{this.userInfo.nickName}} <a href="javascript:;" @click="logout"&g
但实际上,它不会立即更新视图,以下是伪代码:
<template v-if="userInfo.nickName">
<div class="base-info" v-show="userInfo.nickName">
<p>欢迎,{{this.userInfo.nickName}} <a href="javascript:;" @click="logout">退出</a></p>
</div>
</template>
<template v-else>
<div class="base-crud">
<el-button @click="toLogin" type="primary">登录</el-button>
<el-button @click="toRegister" type="primary">注册</el-button>
</div>
</template>
mounted() {
// the updateUserInfo is an vuex action fn, the userInfo was come from vuex store data
ajaxFn().then((data) => this.updateUserInfo(data));
}
欢迎,{{this.userInfo.nickName}
登录
注册
安装的(){
//updateUserInfo是vuex操作fn,用户信息来自vuex存储数据
然后((数据)=>this.updateUserInfo(数据));
}
我发现了问题:
只需将存储操作fn中的Object.assign(state.userInfo,data)
替换为state.userInfo=Object.assign({},state.userInfo,data)
;
这是我的错,对不起 “它不会立即更新视图”,因为它可能是一个异步调用?你的问题是什么?我找到了问题,
Object.assign(state.userInfo,data)
替换为state.userInfo=Object.assign({},state.userInfo,data)
;