angluarJs与后台交互小案例
、myService.html: <!DOCTYPE HTML>
<html ng-app="app">
<head>
<title>自定义服务与后台数据交互</title>
<meta charset="utf-8">
<link rel="stylesheet" href="../css/bootstrap.css">
<script src="../js/angular.js"></script>
<style>
.tip{background: #f2f2f2;border-radius: 6px;box-shadow: 2px 2px 4px #;width: 200px;height: auto;position: relative;top:-10px;padding: 10px;}
</style>
</head>
<body>
<div ng-controller="myServiceCtrl" ng-click="hideTip()">
<label>用户名</label>
<input type="text" ng-model="username" placeholder="请输入用户名..."/>
<div ng-show="showld" ng-class='{tip: showld}'>
<p ng-repeat="user in users">{{user.name}}</p>
</div>
</div>
<script src="myService.js"></script>
</body>
</html>
、myService.js:
var myModule = angular.module("app",[]);
myModule.service('userListService', ['$http', function($http){
var doRequest = function(username,path){
return $http({//底层其实还是$http的交互
method:'GET',
url:'data.json'
});
}
return{//一层一层的封装
userList:function(username){
return doRequest(username,'userList');
}
}
}]);
//上面封装的服务其实就是众多controller中与后台文件交互,得到数据的共同代码,提取出来单独封装在公共服务模块里,供后面的控制器直接调用而已
myModule.controller('myServiceCtrl', ['$scope','$timeout','userListService', //注入除作用域外的定时器对象和自定义的服务,注意:angular系统自带的都是带$符的,自定义的是不带$符的
function($scope,$timeout,userListService){
var timeout;//定义延迟变量
$scope.showld = false;
$scope.watch('username',function(newUserName){//监察username,一旦username发生变化,就执行后面的function()函数
if (newUserName) {//如果拿到新用户名,就用自定义服务中的方法进行处理
if (timeout) {//一旦timeout里面有定时器id
$timeout.cancel(timeout);//就清除已经生成过的定时器,cancel()相当于clearTimeOut()方法
}
timeout = $timeout(function(){
userListService.userList(newUserName)
.success(function(data,status){
$scope.users = data;
$scope.showld = true;
});
},);
};
});
$scope.hideTip = function(){//点击就隐藏提示框,注意不要放在控制器之外了,否则无效
$scope.showld = false;
}
}
]);
angluarJs与后台交互小案例的更多相关文章
- angluarJs与后台交互get
<!DOCTYPE html> <html lang="en" ng-app="myApp"> <head> <met ...
- 微信小程序 与后台交互----获取服务器时间
index.wxml代码 <!--index.wxml--> <view class="container"> <text>{{date}}&l ...
- 微信小程序 与后台交互----传递和回传时间
wxml代码 <!--index.wxml--> <view class="container"> <view class="section ...
- 微信小程序实战,与后台交互
index.wxml <view class="container"> <text>{{txt}}</text> <input name= ...
- 第七节:Vuejs路由交互及后台系统路由案例
一. 简介 1.路由的概念 路由的本质就是一种对应关系,比如说我们在url地址中输入我们要访问的url地址之后,浏览器要去请求这个url地址对应的资源.那么url地址和真实的资源之间就有一种对应的关系 ...
- Vue.js小案例、生命周期函数及axios的使用
一.调色框小案例: 随着三个滑动框的变化,颜色框的颜色随之改变 1.1.实例代码 <!DOCTYPE html> <html lang="en" xmlns:v- ...
- Extjs 4.2 Grid增删改及后台交互(Java)
上次发了Easyui Datagrid的增删改查的使用学习记录后一直想整理下基于Extjs4.2的Grid学习使用记录.苦于抽不出时间,一直拖到现在.不得不说,Extjs确实很强大,新版的Neptun ...
- ajax简单后台交互
ajax简单后台交互 1,扯淡 单身的生活,大部分时间享受自由,小部分时间忍受寂寞. 生活有时候,其实蛮苦涩,让人难以下咽.那些用岁月积累起来的苦闷,无处宣泄,在自己的脑海里蔓延成一片片荆棘,让你每每 ...
- 如何用CropBox实现头像裁剪并与java后台交互
如何用CropBox实现头像裁剪并与java后台交互 参考网站:https://developer.mozilla.org/zh-CN/docs/Web/API/Blob 参考: http://blo ...
随机推荐
- 06-Location详解之精准匹配
之前nginx不是编译过吗?现在重新make install一下. 刚刚这个是我们新安装的.原始版的nginx,配置文件比较少,便于我们做调试. 试试精准匹配的概念. 匹配的是/.优先匹配这个最精准的 ...
- MyBatis—实现关联表查询
一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) 1.2.创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关 ...
- file_get_content() 超时
set_time_limit 只能影响php 程序的超时时间. file_get_contents 读取的是URL的超时时间. 因此 set_limit_limit 对file_get_conte ...
- 线程dump
当应用程序运行变慢或者发生故障时,可能通过分析java的Thread Dumps得到分析他们得到阻塞和存在瓶颈的线程. 线程堆栈是虚拟机中线程(包括锁)状态的一个瞬间状态的快照,即系统在某一个时刻所有 ...
- Django--admin后台
需求 通过后台和models操作数据库表 实现 1.后台中看到数据库中的表 app01/admin.py 1 2 from app01 import models admin.site.regist ...
- SparkR 读取数据& Spark运行的配置
1.本地LOCAL环境安装Spark并试运行配置(在Ubuntu系统下例子) # 打开文件配置环境变量: JAVA,SCALA,SPARK,HADOOP,SBT gedit /etc/profile ...
- 1.介绍templates
我们现在要计算int和double类型数据的平方,我们就需要2个函数: #include <iostream> using namespace std; int square(int x) ...
- Entity Framework在不同数据库下的配置
http://blog.csdn.net/weiky626/article/details/17068593 http://blog.csdn.net/niewq/article/details/41 ...
- Ajax——jQuery实现
紧接上文 一.load()方法 load() 方法师jQuery中最为简单和常用的Ajax方法,能载入远程的HTML代码并插入到DOM中.它的机构是:load(url[,data][,callback ...
- 利用 Aspose.Words 组件,在不依赖与 Office 组件的情况下把 Word 文件转换成 HTML 代码。
首先利用 Nuget 获取 Aspose.Words.dll public ActionResult AsposeWordsDemo() { string srcFileName = Server.M ...