vue.js过滤器+ajax实现事件监听及后台php数据交互实例
作者:爱代码也爱生活
这篇文章主要介绍了vue.js过滤器+ajax实现事件监听及后台php数据交互,结合实例形式分析了vue.js前台过滤器与ajax后台数据交互相关操作技巧,需要的朋友可以参考下
本文实例讲述了vue.js过滤器+ajax实现事件监听及后台php数据交互。分享给大家供大家参考,具体如下:
在vue.js开发时,数据可以使用jquery和vue-resource来获取数据。在获取数据时,一定需要给一个数据初始值。
index.html:
<!doctype html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title> vuejs 过滤器、ajax数据、嵌套循环、if判断、事件监听 </title> <style type="text/css"> [v-cloak] { display: none } </style> </head> <body> <div id="app"> <button v-on:click="getData">ajax获取数据</button> <table> <tr> <td >id</td> <td >姓名</td> <td >手机号</td> <td >城市</td> <td >性别</td> <td >通过审核</td> <td >我的学生</td> <td >操作</td> </tr> <tr v-for="(item,index) in list "> <td>{{item.id}}</td> <td>{{item.name}}</td> <td>{{item.tel}}</td> <td>{{item.sex | sexFormat}}</td> <td>{{item.province}}_{{item.city}}</td> <td v-if="item.status==1">是</td> <td v-else-if="item.status==0">否</td> <td > <span v-for="stu in item.stu "> {{stu.name}}, </span> </td> <td> <button v-on:click="edit">修改</button> <button v-on:click="del(index)">删除</button> </td> </tr> </table> </div> </body> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js" charset="utf-8"></script> <script src="https://cdn.bootcss.com/vue/2.3.0/vue.min.js" charset="utf-8"></script> <script type="text/javascript"> $(function() { Vue.filter('sexFormat',function (value){ if(value == 1){ return "男"; } else return "女"; }); new Vue({ el: '#app', methods: { getData: function(){ var url="json.php"; var _self=this; $.get(url,function(data){ _self.list=eval("(" + data +")"); }) }, del:function(index){ this.list.splice(index,1); }, edit: function () { alert('修改') }, }, data: { "list":[{ "id":"139", "name":"王五", "tel":"13681829898", "status":"1", "province":"省", "city":"市", "sex":"1", "stu":[{ "id":"200", "name":"学生1", "tel":"13681829898", },{ "id":"201", "name":"学生2", "tel":"13681829898", }], }, { "id":"138", "name":"麻子", "tel":"13681829898", "status":"0", "province":"省", "city":"市", "sex":"0", "stu":[{ "id":"300", "name":"学生31", "tel":"13681829898", },{ "id":"301", "name":"学生32", "tel":"13681829898", }], }, { "id":"137", "name":"丽丽", "tel":"15152882891", "status":"0", "province":"省", "city":"市", "sex":"1", "stu":[{ "id":"400", "name":"学生41", "tel":"13681829898", },{ "id":"401", "name":"学生42", "tel":"13681829898", }], }, { "id":"136", "name":"娜娜", "tel":"15152882891", "status":"0", "province":"省", "city":"市", "sex":"0", "stu":[{ "id":"500", "name":"学生51", "tel":"13681829898", },{ "id":"501", "name":"学生52", "tel":"13681829898", }], }] } }) }) </script> </html>
json.php:
<?php header("Content-type:text/html;charset=utf-8"); for($i=1;$i<6;$i++){ $data[]=array( 'id'=>$i, 'name'=>'test'.$i, 'tel'=>'1368585789'.$i, 'status'=>1, 'province'=>'上海市', 'city'=>'上海市', 'sex'=>1, 'stu'=>array(array('id'=>$i,'name'=>'stu'.$i,'tel'=>'1568585789')), ); } echo json_encode($data);exit;
运行结果:
希望本文所述对大家vue.js程序设计有所帮助。