Vue在HTML页面中的脚手架
<script src="assets/js/vue.js"></script>
<script src="assets/js/vue-resource.min.js"></script>
<script>
new Vue({
el:"#container123",
data:{
data:123,
name:"姓名",
password:"密码",
course:"课程",
pointer:-1,
alldata:false,
start:0,
end:7,
pageNow:1,
searchcon:null
},
mounted:function(){ this.$http.get("teacher_getAll.action").then(function(res){
console.log(res.data.data); this.data=res.data.data;
for(var i=0;i<this.data.length;i++){
this.data[i].checked=false;
}
console.log(this.data);
},function(){
alert("请求数据失败")
})
},
methods:{
dele:function(index){
if(confirm("确认删除ID为"+index+"的老师")){ this.$http.get("teacher_dele.action?id="+index).then(function(res){
this.$http.post("teacher_getSearch.action",{name:this.searchcon},{emulateJSON: true}).then(function(res){
console.log(res.data.data); this.data=res.data.data;
for(var i=0;i<this.data.length;i++){
this.data[i].checked=false;
}
console.log(this.data);
},function(){
alert("请求数据失败")
})
if(!res.data.success){
alert("删除失败")
} }
,function(){
alert("请求数据失败")
})
}
},
update:function(name,password,course,pointer){
this.pointer=pointer;
this.name=name;
this.password=password;
this.course=course;
},
search:function(){
this.$http.post("teacher_getSearch.action",{name:this.searchcon},{emulateJSON: true}).then(function(res){
console.log(res.data.data); this.data=res.data.data;
for(var i=0;i<this.data.length;i++){
this.data[i].checked=false;
}
console.log(this.data);
},function(){
alert("请求数据失败")
})
},
sure:function(index){
//
/*alert(index); alert(this.name);
alert(this.password);
alert(this.course);*/
this.$http.post("teacher_update.action",{name:this.name,password:this.password,course:this.course,id:index},{emulateJSON: true}).then(function(res){
this.$http.post("teacher_getSearch.action",{name:this.searchcon},{emulateJSON: true}).then(function(res){
console.log(res.data.data); this.data=res.data.data;
for(var i=0;i<this.data.length;i++){
this.data[i].checked=false;
}
console.log(this.data);
},function(){
alert("请求数据失败")
})
console.log(res.data.success);
if(!res.data.success){
alert("数据更新失败");
}else{
this.pointer=-1;
}
},function(){
alert("数据更新失败");
})
},
all:function(){ if(this.alldata){
for(var i=0;i<this.data.length;i++){
this.data[i].checked=true;
}
}else{
for(var i=0;i<this.data.length;i++){
this.data[i].checked=false;
} } }
}
})
<div class="content" >
<div class="card-box" >
<!-- Row start -->
<div class="am-g">
<div class="am-u-sm-12 am-u-md-6">
<div class="am-btn-toolbar">
<div class="am-btn-group am-btn-group-xs">
<button type="button" onclick="location.href='teacher_add.jsp'" class="am-btn am-btn-default"><span class="am-icon-plus"></span> 新增</button>
<button type="button" class="am-btn am-btn-default"><span class="am-icon-save"></span> 保存</button>
<button type="button" class="am-btn am-btn-default"><span class="am-icon-trash-o"></span> 删除</button>
</div>
</div>
</div> <div class="am-u-sm-12 am-u-md-3">
<div class="am-input-group am-input-group-sm">
<input type="text" class="am-form-field" v-model="searchcon">
<span class="am-input-group-btn">
<button @click="search" class="am-btn am-btn-default" type="button">搜索</button>
</span>
</div>
</div>
</div>
<!-- Row end --> <!-- Row start -->
<div class="am-g">
<div class="am-u-sm-12">
<form class="am-form" onsubmit="return false">
<table class="am-table am-table-striped am-table-hover table-main">
<thead>
<tr>
<th class="table-check"><input @click="all()" v-model="alldata" type="checkbox" /></th><th class="table-id" style="width:200px">ID</th><th style="width:150px" class="table-id">姓名</th><th style="width:150px" class="table-title">密码</th><th style="width:200px" class="table-title">课程</th><th class="table-set">操作</th>
</tr>
</thead>
<tbody>
<tr v-for="(val,index) in data">
<td><input type="checkbox" v-model="val.checked"/></td>
<td>{{val.id}}</td>
<td><span v-show="pointer!=val.id">{{val.name}}</span><input style="width:100px" v-show="pointer==val.id" v-model="name"></td>
<td><span v-show="pointer!=val.id">{{val.password}}</span><input style="width:100px" v-show="pointer==val.id" v-model="password"></td>
<td><span v-show="pointer!=val.id">{{val.course}}</span><input style="width:100px" v-show="pointer==val.id" v-model="course"></td> <td>
<div class="am-btn-toolbar">
<div class="am-btn-group am-btn-group-xs">
<button v-show="pointer!=val.id" @click="update(val.name,val.password,val.course,val.id)" class="am-btn am-btn-default am-btn-xs am-text-secondary"><span class="am-icon-pencil-square-o"></span> 编辑</button>
<button v-show="pointer==val.id" @click="sure(val.id)" class="am-btn am-btn-default am-btn-xs am-text-secondary"><span class="am-icon-pencil-square-o"></span> 确定</button>
<button onclick="window.clipboardData.setData('text','123')" class="am-btn am-btn-default am-btn-xs am-hide-sm-only"><span class="am-icon-copy"></span> 复制</button>
<button @click="dele(val.id)" class="am-btn am-btn-default am-btn-xs am-text-danger am-hide-sm-only"><span class="am-icon-trash-o"></span> 删除</button>
</div>
</div>
</td>
</tr> </tbody>
</table>
<div class="am-cf">
共 {{data.length}} 条记录
<div class="am-fr">
<ul class="am-pagination">
<li class="am-disabled"><a href="#">«</a></li>
<li class="am-active"><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li><a href="#">5</a></li>
<li><a href="#">»</a></li>
</ul>
</div>
</div>
<hr />
<p>注:.....</p>
</form>
Vue在HTML页面中的脚手架的更多相关文章
- vue监听页面中的某个div的滚动事件,并判断滚动的位置
在开发中常常会遇到这样一个vue页面,页面分为左右两部分,左边是目录树,右边是一个类名为xq-box的div,在xq-box中多个div上下并列布局,每个div中的内容就对应着左边目录树中的相应节点, ...
- vue项目-打印页面中指定区域的内容(亲测有效!)
关于打印整个页面的,没什么好说的.今天我给大家分享一个打印指定区域的方法,你想打印哪里,就打印哪里! 我也是刚刚开始接触打印这一块功能的,然后当然是找度娘深入了解了一番啦,期间试了网上的各种方法,有的 ...
- 高性能流媒体服务器EasyDSS前端重构(一)-从零开始搭建 webpack + vue + AdminLTE 多页面脚手架
本文围绕着实现EasyDSS高性能流媒体服务器的前端框架来展开的,具体EasyDSS的相关信息可在:www.easydss.com 找到! EasyDSS 高性能流媒体服务器前端架构概述 EasyDS ...
- vue项目引入FastClick组件解决IOS系统下h5页面中的按钮点击延迟,连续点击无反应的问题
异常描述: ios系统手机中访问h5页面,按钮点击有延迟,连续点击卡顿.无反应. 异常原因: 这要追溯至 2007 年初.苹果公司在发布首款 iPhone 前夕,遇到一个问题:当时的网站都是为大屏幕设 ...
- Vue 动态控制页面中按钮是否显示和样式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue基于页面中按钮权限控制
main.js // 权限 /** 权限指令,对按钮权限的控制 **/ Vue.directive('allow', { bind: function(el, binding) { // 通过当前按钮 ...
- 在静态页面中使用 Vue.js
在静态页面中使用 Vue.js 不使用Node.js, NPM, Webpack 等, 在静态页中使用Vue.js. 包括路由, 单文件组件. 1. 创建index.html index.html做为 ...
- vue第四单元(初识vue-在页面中直接引入vue框架-学习使用vue语法-vue的指令-介绍data用法-methods用法)
第四单元(初识vue-在页面中直接引入vue框架-学习使用vue语法-vue的指令-介绍data用法-methods用法) #课程目标 了解 vue 框架的特点 掌握创建 vue 实例 掌握 data ...
- 在代码生成工具Database2Sharp中增加Vue&Element 工作流页面的快速生成
在我们基于框架开发系统的时候,往往对一些应用场景的页面对进行了归纳总结,因此对大多数情况下的页面呈现逻辑都做了清晰的分析,因此在我们基于框架的基础上,增量式开发业务功能的时候,能够事半功倍.代码生成工 ...
随机推荐
- 操作系统/应用程序、操作中的“并发”、线程和进程,python中线程和进程(GIL锁),python线程编写+锁
并发编程前言: 1.网络应用 1)爬虫 直接应用并发编程: 2)网络框架 django flask tornado 源码-并发编程 3)socketserver 源码-并发编程 2.运维领域 1)自动 ...
- Latex技巧:插入参考文献
LaTeX插入参考文献,可以使用BibTex,也可以不使用BibTex. 方法一:不使用BibTeX 先在文章文章末尾写好需要插入的参考文献,逐一写出,例如: \begin{thebibliograp ...
- Xshell访问kali配置
1.安装虚拟机VMware Workstation12 PRO 2.在虚拟机上安装kali2.0 3.查看liunx的ip地址ifconfig 4.端口 协议 (1)RDP协议(桌面协议)3389端口 ...
- iOS copy 和 mutableCopy 学习
(参考 iOS 52个技巧学习心得笔记 第二章 对象 , 消息, 运行期)的对象部分 关于Copy 有个经典问题”大部分的时候NSString的属性都是copy,那copy与strong的情况下到底 ...
- http://www.uupoop.com/ps/
网页版PS,在线PS 基本的PS功能都有,最重要的一点是快,网页版的嘛,哼哼!
- I.MX6Q(TQIMX6Q/TQE9)学习笔记——内核启动与文件系统挂载
经过前面的移植,u-boot已经有能力启动内核了,本文主要来看下如何通过之前移植的u-boot来启动内核.如果按照前面的文章完成了LTIB 的编译,那么,Linux的内核应该就会出现rpm/BUILD ...
- 一、安装虚拟机,配置ip地址
一.安装linux 注意点: 一.选择最小化安装的时候,要自定义安装软件,必须要安装下面的 如果没有安装上面的,需要用下面的命令来查询安装 如果没有安装就会出现各种问题 二.分区简单介绍 1.至少要一 ...
- 大话设计模式之PHP篇 - 策略模式
什么是策略模式? 定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模式让算法独立于使用它的客户而独立变化. 组成:抽象策略角色: 策略类,通常由一个接口或者抽象 ...
- QGIS 编译
QGIS 编译 在编译的过程中花费了很长时间,特别是编译Debug版本.release版本的编译可以从晚上找到很多的资料,但是Debug的编译相对较少.在Debug编译的过程中,需要单独build工程 ...
- Docker 容器监控平台-Weave Scope
官网地址:https://www.weave.works/oss/scope/ 安装 执行如下脚本安装运行 Weave Scope. curl -L git.io/scope -o /usr/loca ...