加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs 表单点击保存,获取修改的信息项,进行提示

发布时间:2020-12-17 08:29:32 所属栏目:安全 来源:网络整理
导读:一般修改的界面,会有很多信息项要填写,因为界面上有很多信息项,怕用户误操作,直接点击保存,导致错误,现在需要提供一个弹窗,将用户刚刚修改的信息项进行显示出来,以便提醒用户修改了哪些信息项,以下是思考过程: 一般监听对象属性的变化,在angularjs中可以使用

一般修改的界面,会有很多信息项要填写,因为界面上有很多信息项,怕用户误操作,直接点击保存,导致错误,现在需要提供一个弹窗,将用户刚刚修改的信息项进行显示出来,以便提醒用户修改了哪些信息项,以下是思考过程:

一般监听对象属性的变化,在angularjs中可以使用watch来监听,如下格式:

$scope.$watch('addInfo.addInfoView',function(newValue,oldValue) { 
			if(JSON.stringify(oldValue) == "{}") return;
			if (newValue === oldValue)return;
            if (newValue != null && newValue!=oldValue) {  
            	console.log("您修改了名字");
            }  
        },true); //其中true是可以进行对象属性的比较
但是这个,我在正常切换用户,重新获取用户信息,填写上控件的信息,这个方法就一直在执行,不好判断是否是在点击保存之后用户修改了哪些信息,所以后来想想,是否可以将点击获取的旧的对象数据,和修改之后的新的对象数据进行比较,如下:

1.使用copy深拷贝,获取旧对象数据:

//拷贝一份,以便用于比较,是否修改了,2018年1月9日14:15:00
    				addInfo.addInfoViewCopy = angular.copy(json.content);
2.然后在点击提交按钮的时候,对新的对象数据和旧的对象数据的属性一个个进行比较,判断修改了哪些属性,如下,至此就可以完成判断:
$scope.modifyRetireInfor=function(a){
			console.log("新数据"+addInfo.addInfoView.name);
			console.log("旧数据"+addInfo.addInfoViewCopy.name);
			
			//对一些重要信息进行是否修改的判断,2018年1月9日14:44:48
			if (addInfo.addInfoView != null ) {  
				addInfo.addInfoView.errorMessage="";
				if(addInfo.addInfoView.name != addInfo.addInfoViewCopy.name){
					addInfo.addInfoView.errorMessage="名字";
				}
				if(addInfo.addInfoView.identification != addInfo.addInfoViewCopy.identification){
					addInfo.addInfoView.errorMessage +="、身份证";
				}
				
				
            }
			
			

				$scope.resetModify();
			
			
			
		}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读