一、问题描述

  每次刷新页面,下面的内容就会一闪而过。

  一闪而过后恢复正常:

二、解决

 问题代码:

@*<span>修改密码</span>*@
@*<span>{{myWord.personInfo}} </span>*@
改为v-html,在iveiw中方法执行后赋值。
<span v-html="myWord.personInfo"></span>

data : {

  myWord:{
  personInfo: '个人信息',
  changePassword: '修改密码',
  submit: '提交',
  cancel: '取消'
  },

同样的问题还出现在很多地方。

三、完整代码:

@{
ViewBag.Title = "个人中心";
Layout = "~/Views/Shared/_LayoutNotFooter.cshtml";
}
<style>
.main-container {
overflow-y: hidden;
}
</style> <div id="personalCenterDiv">
<div style="background:#eee;padding:20px" > <Card style="width:100%;">
<p slot="title">
<Icon type="person"></Icon>
@*<span>修改密码</span>*@
@*<span>{{myWord.personInfo}} </span>*@
<span v-html="myWord.personInfo"></span> </p>
<i-form ref="formValidate" :model="formValidate" :rules="ruleValidate" :label-width="100" > <form-item label="用户名" prop="UserName">
<span v-html="formValidate.UserName"></span>
</form-item>
<form-item label="用户类型"> <span v-html="formValidate.TypeID"></span>
</form-item> <form-item label="密码" >
<i-button type="ghost" v-on:click="modal1=true">
<span v-html="myWord.changePassword"></span>
</i-button>
</form-item> <form-item label="真实姓名" prop="RealName">
<i-input v-model="formValidate.RealName" style="width:300px"></i-input>
</form-item>
<form-item label="工作单位" prop="Company">
<i-input v-model="formValidate.Company" style="width:300px"></i-input>
</form-item>
<form-item label="出生日期" prop="BirthDate">
<date-picker type="date" v-model="formValidate.BirthDate" ></date-picker>
</form-item>
<form-item label="手机" prop="Phone">
<i-input v-model="formValidate.Phone" style="width:300px"></i-input>
</form-item>
<form-item label="固定电话" prop="TelPhone">
<i-input v-model="formValidate.TelPhone" style="width:300px"></i-input>
</form-item>
<form-item label="联系地址" prop="Address">
<i-input v-model="formValidate.Address" style="width:300px"></i-input>
</form-item> <form-item>
<i-button type="primary" v-on:click="handleSubmit('formValidate')">
<span v-html="myWord.submit"></span>
</i-button>
<i-button type="ghost" v-on:click="handleReset('formValidate')" style="margin-left: 8px">
<span v-html="myWord.cancel"></span>
</i-button>
</form-item>
</i-form> </Card> <Modal v-model="modal1" title="修改密码" v-on:on-ok="okClick('formPassword')" v-on:on-cancel="cancelClick('formPassword')">
<i-form ref="formPassword" :model="formPassword" :rules="ruleformPassword" :label-width="100"> <form-item label="原密码" prop="OldPassword">
<i-input v-model="formPassword.OldPassword" style="width:200px"></i-input>
</form-item>
<form-item label="新密码" prop="Password">
<i-input v-model="formPassword.Password" style="width:200px"></i-input>
</form-item>
<form-item label="确认新密码" prop="Password2">
<i-input v-model="formPassword.Password2" style="width:200px"></i-input>
</form-item> </i-form> </Modal>
</div>
</div> <script type="text/javascript"> var vmUserInfo = new Vue({
el: '#personalCenterDiv',
data : { modal1: false,
// modal2: false,
formValidate: {
UserName: '',
RealName: '',
Company: '',
BirthDate: '',
Phone: '',
TelPhone: '',
Address: '',
TypeID: '' },
myWord:{
personInfo: '个人信息',
changePassword: '修改密码',
submit: '提交',
cancel: '取消' },
formPassword: {
OldPassword: '',
Password: '',
Password2: ''
}, ruleValidate: {
UserName: [
{ required: true, message: '用户名不能为空!', trigger: 'blur' }
],
RealName: [
{ required: true, message: '真实姓名不能为空!', trigger: 'blur' }
],
Company: [
{ required: true, message: '工作单位不能为空!', trigger: 'blur' }
],
BirthDate: [
{ required: true, type: 'date', message: '出生日期不能为空!', trigger: 'change' }
],
Phone: [
{ required: true, message: '手机号不能为空!', trigger: 'blur' }
],
TelPhone: [
{ required: true, message: '固定电话不能为空!', trigger: 'blur' }
],
Address: [
{ required: true, message: '联系地址不能为空!', trigger: 'blur' }
] },
ruleformPassword: {
OldPassword: [
{ required: true, message: '原密码不能为空!', trigger: 'blur' }
],
Password: [
{ required: true, message: '新密码不能为空!', trigger: 'blur' }
],
Password2: [
{ required: true, message: '确认密码不能为空!', trigger: 'blur' }
]
} },
created: function () { },
methods: {
handleSubmit:function(name) {
var that = this; this.$refs[name].validate(function(valid) {
//console.dir(valid);
//非空校验通过
if (valid) {
var getData = { UserName: that.formValidate.UserName,
RealName: that.formValidate.RealName,
Company: that.formValidate.Company,
BirthDate: that.formValidate.BirthDate,
Phone: that.formValidate.Phone,
TelPhone: that.formValidate.TelPhone,
Address: that.formValidate.Address }
//console.dir(getData);
that.$http.post('@Url.Action("SetLoginUserInfo", "Account")', getData).then(function (result) { if (result.data.success) { that.instance("success", "提交成功!");
}
else {
that.instance("error", "提交失败!"); } }, function (response) { }); } else {
that.instance("warning", "不能存在空值!") }
})
}, handleReset: function(name) { this.$refs[name].resetFields();
window.location = '/Ecology';
},
okClick: function(name) {
var that = this;
//非空校验
this.$refs[name].validate(function (valid) {
// console.dir(valid);
if (valid) {
var getData = {
UserName: that.formValidate.UserName,
OldPassword: that.formPassword.OldPassword,
Password: that.formPassword.Password,
Password2: that.formPassword.Password2 }
// console.dir(getData);
that.$http.post('@Url.Action("SetUserPassword", "Account")', getData).then(function (result) {
// console.dir(result.data.msg);
if (result.data.success) {
that.instance("success", result.data.msg);
;
}
else {
// console.log("error:SetUserPassword");
that.instance("error", result.data.msg); } }, function (response) { }); } else { that.instance("warning", "三者都不能为空!"); } }); //vmUserInfo.formPassword.OldPassword = '';
//vmUserInfo.formPassword.Password = '';
//vmUserInfo.formPassword.Password2 = '';
//删除密码信息
this.$refs[name].resetFields(); },
cancelClick: function (name) {
this.$refs[name].resetFields();
},
instance: function (type, message) { const title = '提示信息:';
const content = '<p>' + message + '</p>';
switch (type) {
case 'info':
this.$Modal.info({
title: title,
content: content
});
break;
case 'success':
this.$Modal.success({
title: title,
content: content
});
break;
case 'warning':
this.$Modal.warning({
title: title,
content: content
});
break;
case 'error':
this.$Modal.error({
title: title,
content: content
});
break;
}
}
},
mounted: function () {
var that = this; that.$http.post('@Url.Action("GetLoginUserInfo", "Account")', {}).then(function (result) {
// console.dir(result);
if (result.data.success == true) {
if (result.data.rows != undefined && result.data.rows != null) { if (result.data.rows.TypeID != null) {
if (result.data.rows.TypeID == 1) {
vmUserInfo.formValidate.TypeID = "普通用户";
} else if (result.data.rows.TypeID == 2) {
vmUserInfo.formValidate.TypeID = "管理员";
}
}
vmUserInfo.formValidate.UserName = result.data.rows.UserName;
vmUserInfo.formValidate.RealName = result.data.rows.RealName;
vmUserInfo.formValidate.Company = result.data.rows.Company;
vmUserInfo.formValidate.BirthDate = result.data.rows.BirthDate;
vmUserInfo.formValidate.Phone = result.data.rows.Phone;
vmUserInfo.formValidate.TelPhone = result.data.rows.TelPhone;
vmUserInfo.formValidate.Address = result.data.rows.Address;
} } else {
// console.log("error:GetLoginUserInfo"); } }, function (response) { });
} }); </script>

  

iview 刷新滞后于html问题的更多相关文章

  1. 【Canal源码分析】Sink及Store工作过程

    一.序列图 二.源码分析 2.1 Sink Sink阶段所做的事情,就是根据一定的规则,对binlog数据进行一定的过滤.我们之前跟踪过parser过程的代码,发现在parser完成后,会把数据放到一 ...

  2. mysql 数据库主从同步

    1.简介 写这篇文章是网上找到的相关主从同步的都不够完全,本人第一次搭建主从同步,完全看着网上的文章来搭建的,结果你懂的,踩了很多坑.所以特地把踩到的坑写出来,新手切勿直接布置到正式环境,请于测试环境 ...

  3. Caching漫谈--关于Cache的几个理论【转】

    转自:https://www.cnblogs.com/asis/p/cache-pattern.html 如今缓存是随处可见了,如果你的程序还没有使用到缓存,那可能是你的程序并发量很低,或对实时性要求 ...

  4. Caching漫谈--关于Cache的几个理论

    如今缓存是随处可见了,如果你的程序还没有使用到缓存,那可能是你的程序并发量很低,或对实时性要求很低.我们公司的ERP在显示某些报表时,每次打开都需要花上几分钟的时间,假如搜索引擎也是这么慢,我想这家搜 ...

  5. Linux--系统调优

    建议看看:https://www.cnblogs.com/yinzhengjie/p/9994207.html 一.关闭swap交换分区 Linux swapoff命令用于关闭系统交换区(swap a ...

  6. (八)JSP 技术知识点总结(来自那些年的笔记)

    目录 什么是 jsp Jsp 调用和运行原理(简略版) Jsp语法 Jsp指令简介 Page指令 Include指令 taglib指令 Jsp乱码问题 jsp运行原理(详细版) JSP中的九大隐式对象 ...

  7. 【深入理解计算机系统CSAPP】第六章 存储器层次结构

    6 存储器层次结构 存储器系统(memory system)是一个具有不同容量.成本和访问时间的存储设备的层次结构.CPU 寄存器保存着最常用的数据.靠近 CPU 的小的.快速的高速缓存存储器(cac ...

  8. 基于 iframe 的微前端框架 —— 擎天

    vivo 互联网前端团队- Jiang Zuohan 一.背景 VAPD是一款专为团队协作办公场景设计的项目管理工具,实践敏捷开发与持续交付,以「项目」为核心,融合需求.任务.缺陷等应用,使用敏捷迭代 ...

  9. Hadoop原理介绍

    Hadoop核心之HDFS 架构设计   老嗨 2015-09-18 16:55:00 浏览225 评论0 摘要: 概述:HDFS即Hadoop Distributed File System分布式文 ...

随机推荐

  1. python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别

    os._exit() 和 sys.exit() os._exit() vs sys.exit() 概述 Python的程序有两中退出方式:os._exit(), sys.exit().本文介绍这两种方 ...

  2. commons-text 生成指定长度的随机字符串

    package com.skylink.junge.demo; import java.util.HashSet; import java.util.Set; import org.apache.co ...

  3. [转]data-driven与决策树聚类的两种方法

    参考文章: http://blog.csdn.net/quheDiegooo/article/details/60873999 http://blog.csdn.net/quhediegooo/art ...

  4. ajax跨域问题小结

    跨域:跨域名的访问,是浏览器对ajax的一种限制,这样可以有效的房子跨站攻击 跨域的范畴: 域名不同  或 端口不同 或 二级域名不同 解决方案: 第一种:由于前端基础薄弱,且该方式老掉牙,不讲解: ...

  5. php 从2维数组组合为四维数组分析(项目中前台侧边栏导航三级分类显示)

    foreach函数(循环函数)内嵌套循环函数时,当内层完全循环完后,才会向上一级循环 数组要注意问题 array_merge----合并一个或多个数组 将一个或多个数组的单元合并起来,一个数组中的值附 ...

  6. Akka-Cluster(3)- ClusterClient, 集群客户端

    上篇我们介绍了distributed pub/sub消息传递机制.这是在同一个集群内的消息共享机制:发布者(publisher)和订阅者(subscriber)都在同一个集群的节点上,所有节点上的Di ...

  7. Shell-4--环境变量

  8. @RequestParam加不加的区别

    感觉@撸码识途 https://www.cnblogs.com/tinyj/p/9786131.html 加上的情况: @RequestMapping("demo") public ...

  9. Mac-让 Finder 显示隐藏文件和文件夹

    打开「终端」,输入以下内容,然后「Return」键,这样就把隐藏的文件和文件夹显示了: defaults write com.apple.finder AppleShowAllFiles -boole ...

  10. selenium的chromedriver对应的chrome版本

    chromedriver下载地址:http://chromedriver.storage.googleapis.com/index.html chromedriver版本 支持的Chrome版本 v2 ...