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


Posted in Javascript onMay 22, 2018

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

Javascript 相关文章推荐
JavaScript call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题
Sep 28 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
Nov 29 Javascript
js左右弹性滚动对联广告代码分享
Feb 19 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
May 15 Javascript
jQuery插件扩展测试实例
Jun 21 Javascript
Angularjs中使用指令绑定点击事件的方法
Mar 30 Javascript
input框中自动展示当前日期yyyy/mm/dd的实现方法
Jul 06 Javascript
对类Vue的MVVM前端库的实现代码
Sep 07 Javascript
js中自定义react数据验证组件实例详解
Oct 19 Javascript
关于Vue源码vm.$watch()内部原理详解
Apr 26 Javascript
JS数组的高级使用方法示例小结
Mar 14 Javascript
react-router-dom 嵌套路由的实现
May 02 Javascript
swiper 自动图片无限轮播实现代码
May 21 #Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
May 21 #Javascript
通过jquery toggleClass()属性制作文章段落更改背景颜色
May 21 #jQuery
基于Vue的延迟加载插件vue-view-lazy
May 21 #Javascript
jQuery获取随机颜色的实例代码
May 21 #jQuery
JS实现常见的查找、排序、去重算法示例
May 21 #Javascript
vue组件jsx语法的具体使用
May 21 #Javascript
You might like
php将access数据库转换到mysql数据库的方法
2014/12/24 PHP
yii2中添加验证码的实现方法
2016/01/09 PHP
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
Zend Framework动作控制器用法示例
2016/12/09 PHP
PHP实现将标点符号正则替换为空格的方法
2017/08/09 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
2017/08/30 PHP
PHP实现的pdo连接数据库并插入数据功能简单示例
2019/03/30 PHP
PHP中Session ID的实现原理实例分析
2019/08/17 PHP
弹出广告特效(一个IP只弹出一次)的代码
2007/07/27 Javascript
对xmlHttp对象方法和属性的理解
2011/01/17 Javascript
简单实用的反馈表单无刷新提交带验证
2013/11/15 Javascript
javascript笛卡尔积算法实现方法
2015/04/08 Javascript
js操作table元素实现表格行列新增、删除技巧总结
2015/11/18 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
实践中学习AngularJS表单
2016/03/21 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
基于BootStrap实现局部刷新分页实例代码
2016/08/08 Javascript
基于 webpack2 实现的多入口项目脚手架详解
2017/06/26 Javascript
微信小程序自定义组件
2017/08/16 Javascript
微信小程序简单实现form表单获取输入数据功能示例
2017/11/30 Javascript
vue 全选与反选的实现方法(无Bug 新手看过来)
2018/02/09 Javascript
vue打包使用Nginx代理解决跨域问题
2018/08/27 Javascript
JS实现根据详细地址获取经纬度功能示例
2019/04/16 Javascript
详解js location.href和window.open的几种用法和区别
2019/12/02 Javascript
python 排序算法总结及实例详解
2016/09/28 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
python 实现aes256加密
2020/11/27 Python
Auguste The Label官网:澳大利亚一家精品女装时尚品牌
2020/06/14 全球购物
农村婚礼证婚词
2014/01/08 职场文书
少年闰土教学反思
2014/02/22 职场文书
医疗器械售后服务承诺书
2014/05/21 职场文书
施工单位安全责任书
2014/07/24 职场文书
2015年统战工作总结
2015/05/19 职场文书
Python如何使用logging为Flask增加logid
2021/03/30 Python
mysql知识点整理
2021/04/05 MySQL
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL