Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates 基于ajax结果的带v-if的vue模板_Templates_Vue.js - Fatal编程技术网

Templates 基于ajax结果的带v-if的vue模板

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

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">退出</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)