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过滤器+ajax实现事件监听及后台php数据交互实例

希望本文所述对大家vue.js程序设计有所帮助。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容