JavaScript

超轻量级php框架startmvc

vue.js过滤器+ajax实现事件监听及后台php数据交互实例

更新时间:2020-07-10 06:42:01 作者:startmvc
本文实例讲述了vue.js过滤器+ajax实现事件监听及后台php数据交互。分享给大家供大家参考,

本文实例讲述了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程序设计有所帮助。