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 相关文章推荐
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
Feb 14 Javascript
ajax java 实现自动完成功能
Dec 19 Javascript
js nextSibling属性和previousSibling属性概述及使用注意
Feb 16 Javascript
解决jquery1.9不支持browser对象的问题
Nov 13 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
Feb 24 Javascript
jQuery中(function($){})(jQuery)详解
Jul 15 Javascript
基于jQuery实现的扇形定时器附源码下载
Oct 20 Javascript
使用bootstrap实现多窗口和拖动效果
Sep 22 Javascript
简单实现jQuery轮播效果
Aug 18 jQuery
原生JavaScript实现todolist功能
Mar 02 Javascript
vue.js template模板的使用(仿饿了么布局)
Aug 13 Javascript
vue-router 路由传参用法实例分析
Mar 06 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用数组返回无限分类的列表数据的代码
2010/08/08 PHP
php计算两个日期相差天数的方法
2015/03/14 PHP
利用PHP绘图函数实现简单验证码功能的方法
2016/10/18 PHP
php PDO实现的事务回滚示例
2017/03/23 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
JavaScript 面向对象的之私有成员和公开成员
2010/05/04 Javascript
javascript 通用简单的table选项卡实现
2010/05/07 Javascript
JQuery为textarea添加maxlength属性并且兼容IE
2013/04/25 Javascript
JavaScript事件委托的技术原理探讨示例
2014/04/17 Javascript
js中将String转换为number以便比较
2014/07/08 Javascript
浅谈Javascript 数组与字典
2015/01/29 Javascript
jquery实现漂亮的二级下拉菜单代码
2015/08/26 Javascript
详解JavaScript表单验证(E-mail 验证)
2016/03/31 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
js无法获取到html标签的属性的解决方法
2016/07/26 Javascript
Vue+webpack+Element 兼容问题总结(小结)
2018/08/16 Javascript
layui--js控制switch的切换方法
2019/09/03 Javascript
vue中实现动态生成二维码的方法
2020/02/21 Javascript
python入门之语句(if语句、while语句、for语句)
2015/01/19 Python
Python入门教程之if语句的用法
2015/05/14 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
2019/08/08 Python
Python实现自定义读写分离代码实例
2019/11/16 Python
python通过matplotlib生成复合饼图
2020/02/06 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
2020/02/26 Python
python数据类型强制转换实例详解
2020/06/22 Python
美国演唱会订票网站:Ticketmaster美国
2017/10/05 全球购物
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
信息专业本科生个人的自我评价
2013/10/28 职场文书
社区党员先进事迹
2014/01/22 职场文书
函授毕业个人自我评价
2014/02/20 职场文书
中学推普周活动总结
2015/05/07 职场文书
贷款收入证明范本
2015/06/12 职场文书
vue如何清除浏览器历史栈
2022/05/25 Vue.js