温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Vue.js如何实现双向数据绑定方法

发布时间:2021-04-20 10:34:33 来源:亿速云 阅读:172 作者:小新 栏目:web开发

这篇文章给大家分享的是有关Vue.js如何实现双向数据绑定方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

js的作用是什么

1、能够嵌入动态文本于HTML页面。2、对浏览器事件做出响应。3、读写HTML元素。4、在数据被提交到服务器之前验证数据。5、检测访客的浏览器信息。6、控制cookies,包括创建和修改等。7、基于Node.js技术进行服务器端编程。

1、使用Vue.js实现双向表单数据绑定,例子

<!--html代码--> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>财产查勘处理</title> <link rel="stylesheet" type="text/css" href="../css/global.css" rel="external nofollow" /> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css" rel="external nofollow" /> <link rel="stylesheet" type="text/css" href="../css/AdminLTE.min.css" rel="external nofollow" /> <link rel="stylesheet" type="text/css" href="../css/propertySurvey.css" rel="external nofollow" /> </head> <body>   <div class="container-fluid">     <div >请输入物损查看信息</div>     <h5 class="box-title">       <i class="glyphicon glyphicon-play-circle" ></i>       报案信息     </h5>     <hr  />     <div class="row text-center" >       <div >         <label>损失方</label><input v-model="RegistInfo_name" type="text" name="RegistInfo_name"/>       </div>       <div >         <label>联系人</label><input v-model="RegistInfo_user" type="text" name="RegistInfo_user"/>       </div>       <div >         <label>联系方式</label> <input v-model="RegistInfo_phone" name="RegistInfo_phone" type="text"/>       </div>     </div>     <div class="row text-center" >       <div >         <label>损失方1</label><input v-model="Prplregist_name" type="text" name="Prplregist_name"/>       </div>       <div >         <label>联系人1</label><input v-model="Prplregist_user" type="text" name="Prplregist_user"/>       </div>       <div >         <label>联系方式1</label> <input v-model="Prplregist_phone" name="Prplregist_phone" type="text"/>       </div>     </div>     <div class="row text-center" >       <div >         <label>查勘估损金额</label> <input v-model="RegistInfo_chakan_money" name="RegistInfo_chakan_money" type="text" value="400.00" /> *       </div>       <div >         <label>施救费金额</label> <input v-model="RegistInfo_rescue_money" name="RegistInfo_rescue_money" type="text" name="" id="" value="0.00" />       </div>       <div >         <label>需要施救</label> <input type="checkbox" />是否需要       </div>     </div>     <div class="row text-center" >       <div >         <label>查勘估损金额1</label> <input v-model="Prplregist_chakan_money" name="Prplregist_chakan_money" type="text" value="400.00" /> *       </div>       <div >         <label>施救费金额1</label> <input v-model="Prplregist_rescue_money" name="Prplregist_rescue_money" type="text" name="" id="" value="0.00" />       </div>       <div >         <label>需要施救1</label> <input type="checkbox" />是<input type="checkbox" />没错<input type="checkbox" />必须       </div>     </div>     <div class="row text-center" >       <div >         <label>查勘地点</label> <input v-model="address" name="address" type="text"  /> *       </div>       <div >         <label>查勘日期</label> <input v-model="RegistInfo_chakan_data" name="RegistInfo_chakan_data" type="text" name="" id="" value="2017-03-09" />       </div>     </div>     <div class="row text-center" >       <div >         <label>施救过程描述</label> <input v-model="RegistInfo_say" name="RegistInfo_say" type="text"  />       </div>     </div>     <div class="row text-center" >       <div >         <label>备注</label> <input v-model="remark" name="remark" type="text"  />       </div>     </div>     <div class="row text-center" >       <div >         <select class="select2">           <option value="123" id="sel1">123</option>           <option value="456" id="sel2">456</option>           <option value="789" id="sel3">789</option>         </select>       </div>     </div>     <div class="row text-center" >       <div >         <input type="radio" id="google" value="Google" v-model="RegistInfo_radio" name="RegistInfo_radio">         <label for="google">Google</label>         <br>         <input type="radio" id="runoob" value="Runoob" v-model="RegistInfo_radio" name="RegistInfo_radio">         <label for="runoob">Runoob</label>       </div>     </div>     <div class="row text-center" >       <div >         <input type="radio" id="helongjun" value="helongjun" v-model="RegistInfo_helongjun" name="RegistInfo_helongjun">         <label for="helongjun">helongjun</label>         <br>         <input type="radio" id="longjun" value="longjun" v-model="RegistInfo_helongjun" name="RegistInfo_helongjun">         <label for="longjun">longjun</label>       </div>     </div>     <div class="row text-center" >       <div >         <input type="radio" id="testOne" value="testOne" v-model="testOne" name="testOne">         <label for="helongjun">testOne</label>         <br>         <!--<input type="radio" id="testOne" value="testTwo" v-model="testOne" name="testOne">         <label for="longjun">testTwo</label>-->       </div>     </div>     <div class="row text-center" >       <div >         <select v-model="RegistInfo_selected" name="RegistInfo_selected">           <option value="">选择一个网站</option>           <option value="baidu">baidu</option>           <option value="google">Google</option>         </select>       </div>     </div>     <div class="text-center row">       <button>暂存(S)</button>       <button onclick="getInputVal()">返回(F)</button>     </div>   </div>   <script type="text/javascript" src="../js/vue.min.js" ></script>   <script type="text/javascript" src="../js/jquery-1.11.0.min.js"></script>   <script type="text/javascript" src="../js/bootstrap.min.js"></script>   <script type="text/javascript" src="../js/bootstrap-datetimepicker.min.js"></script>   <script type="text/javascript" src="../VueFormSub.js" ></script>
#VueFormSub.js(实现双向绑定主要代码) //实现取值 var VueFormSub = function(formid){   this.$form = ($("#" + formid).length !=0)?$("#" + formid):$("."+formid);   var models = $("*[v-model != '']", this.$form);   var vueData = {};   $.each(models,function(idx,dom){     var key = $(dom).attr("name");     if (undefined != key){       var dValue = $(dom).val();       $(dom).val(dValue);       var beanName = key.split("_");       if(beanName.length < 2){         vueData[beanName] = dValue;         vueData[beanName] = $("input[type='radio'][name='"+key+"']:checked").val();       }else{         if(vueData[beanName[0]] == undefined){           vueData[beanName[0]] = {};         }else{           if($(dom).attr("type") == "radio"){             var tempVal = $("input[type='radio'][name='"+key+"']:checked").val();             vueData[beanName[0]][beanName[1]] = tempVal;           }else{             vueData[beanName[0]][beanName[1]]=dValue;                       }         }       }     }   });   return vueData; }; #初始化Vue表单数据(可以只传入initDate数据源,formid需要绑定的dom) VueFormSub.initVue = function(initDate,formid,httpMethod, url, params){   if(initDate instanceof Object){     /*if(initDate.length !=0){}*/     var initJson = VueFormSub.ObjConvert(initDate);     new Vue({       el : ($("#"+formid).length != 0)?'#'+formid:'.'+formid,       data : initJson     });   }else{     if (httpMethod != "get" && params && typeof (params) == "object"){       params = JSON.stringify(params);     }     if(params!= null){       params.rs = Math.random();     }else{       params = {'rs':Math.random()};     }     $.ajax({       type: httpMethod,       url: "/cxh" + url,       data: params,       cache:false,       async: true,       contentType: 'application/json',       dataType: 'json',       success: function (returnData) {         if(returnData.length != 0){           var vueDate = VueFormSub.ObjConvert(returnData);           new Vue({             el:($("#"+formid).length != 0)?'#'+formid:'.'+formid,             data : vueDate           });         }       }     });   } }; #对需要绑定的对象进行解析成Vue支持的格式 VueFormSub.ObjConvert = function(dataObj){   var json = {};   $.each(dataObj,function(id,param){     if(param instanceof Object){       $.each(param, function(rid,rparam){         if(rparam instanceof Object){           json[id] = VueFormSub.ObjConvert(param);         }else{           json[id+"_"+rid] = rparam;         }       });     }else{       json[id]=param;     }   });   return json; };
#使用实例 <script>   #初始化数据data   var initVue = {     RegistInfo_name : 'legend',     RegistInfo_user : '龙军',     RegistInfo_phone : '1008611',     RegistInfo_chakan_money : '100',     RegistInfo_rescue_money : '1000',     address : '广东省汕头市潮南区',     RegistInfo_chakan_data : '2017-5-7',     RegistInfo_say : '这个只是测试用的',     remark : '龙军用来测试的',     Prplregist_name : '林总',     Prplregist_user : '林老板',     Prplregist_phone : '10010',     Prplregist_chakan_money : '一万块',     Prplregist_rescue_money : '一个亿',     RegistInfo_radio : "Runoob",     RegistInfo_selected : "google",     RegistInfo_helongjun : "helongjun",     testOne:""   };   //初始化Vue表单   VueFormSub.initVue(initVue,"container-fluid");   //返回按钮单击   function getInputVal(){     //调用自动表单封装     var resultVal = new VueFormSub("container-fluid");     console.log(resultVal);   } #注意:input表单中的name属性必须指定,最好和input表单中的v-model的值一样 <script>

最终效果:

Vue.js如何实现双向数据绑定方法

感谢各位的阅读!关于“Vue.js如何实现双向数据绑定方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI