angular的跨域(angular百度下拉提示模拟)和angular选项卡
1.angular中$http的服务:
$http.get(url,{params:{参数}}).success().error();
$http.post(url,{params:{参数}}).success().error();
$http.jsonp(url,{params:{wd:'',cb:'JSON_CALLBACK'}}).success().error();
注意jsonp中cb在angular中规定只能使用JSON_CALLBACK
$watch(谁,做什么,false);
谁指的是需要监听谁,做什么指的是在监听对象发生改变的时候会触发的函数,最后一个参数布尔值,true表示深度监视,比如监听的是对象arr,在arr中的每一项发生改变的时候都会触发函数,true还表示可以监听多个,如果默认false的话,只能监听单个对象。
下面使用angular的jsonp来做了一个简单百度搜索下拉,原生的百度搜索下来再前面的文章中写过,有兴趣的可以搜一下看看
<!doctype html>
<html ng-app="text">
<head>
<meta charset="utf-8">
<title>angular百度下拉搜索</title>
<script src="angular.min.js"></script>
<script>
var app=angular.module('text',[]); app.controller('cont',['$scope','$http',function($scope,$http){
$scope.arr=[];
//提前初始化数据,这里给一个初始值,否则刷新页面angular的脏检查会认为是失败
$scope.str='';
//注意在angular中不能使用angular以外的方法,例如这里使用jquery的$.ajax或者$.getScript会出现问题
$scope.$watch('str',function(){
$http.jsonp('https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su',{params:{
wd:$scope.str,
//angular规定cb必须是用"JSON_CALLBACK"
cb:'JSON_CALLBACK'
}}).success(function(json){
$scope.arr=json.s;
}).error(function(){
alert('失败了');
});
});
}]);
</script>
</head> <body>
<div ng-controller="cont">
<input type="text" ng-model="str"/>
<ul>
<li ng-repeat="s in arr">{{s}}</li>
</ul>
</div>
</body>
</html>
2.angular的选项卡,自己认为选项卡虽然简单,但是透过选项卡能展现很多东西的思路,这个angular的选项卡还是很简单的
<!doctype html>
<html ng-app="text">
<head>
<meta charset="utf-8">
<title>angular选项卡</title>
<script src="angular.js"></script>
<style>
*{
padding:0;
margin:0;
}
p{
width:100px;
height:100px;
background:#ccc;
border:1px solid #000;
}
.active{
background:skyblue;
}
input{
background:#333;
color:#fff;
}
</style>
<script>
var app=angular.module('text',[]);
app.controller('cont1',['$scope',function($scope){
//利用$scope.now来控制div的显示和隐藏
$scope.now=0;
$scope.arr=[
{name:"音乐",content:"BEYOND不朽"},
{name:"体育",content:"C罗是垃圾"},
{name:"新闻",content:"物价还在上涨"},
];
//挂载一个函数过渡一下,解决ng-repeat和ng-事件同时出现的问题
$scope.fn=function(n){
$scope.now=n;
};
}]);
</script>
</head> <body>
<div ng-controller="cont1">
<!--注意在angular中ng-repeat和ng-事件同时出现会出现问题,解决办法是在$scope下挂载的函数中过渡一下-->
<input ng-repeat="json in arr" type="button" value="{{json.name}}" ng-class="now==$index?'active':''" ng-click="fn($index)" />
<p ng-repeat="json in arr" ng-show="now==$index">{{json.content}}</p>
</div>
</body>
</html>
angular的跨域(angular百度下拉提示模拟)和angular选项卡的更多相关文章
- JSONP跨域访问百度实现搜索提示小案例
一.JSONP简介 JSONP 全称 JSON with padding(填充式 JSON 或参数式 JSON),JSONP实现跨域请求的原理,就是动态创建<script>标签,然后利用& ...
- Ajax跨域:Jsonp实例--百度搜索框下拉提示
Ajax跨域:Jsonp实例--百度搜索框下拉提示 一.总结 一句话总结:a.找好接口:b.用script标签的src引入文件(json数据):c.定义及实现上一步引入文件中的函数 1.如何找到一个网 ...
- angular 的跨域处理
angular 的跨域处理,由于不并不支持跨域处理,所以我们对他也是无可奈何,angular 的跨域处理,需要我们在服务器上进行处理,把请求的数据改成 * ,也就是,谁都可以请求数据: angular ...
- Angular http跨域
原文:Angular http跨域 - 飞翔的小仓鼠 - 博客园 var app = angular.module('Mywind',['ui.router']); app.controller('M ...
- vue实现百度搜索下拉提示功能
这段代码用到vuejs和vue-resouece.实现对接智能提示接口,并通过上下键选择提示项,按enter进行搜索 <!DOCTYPE html> <html lang=" ...
- 【亲测好用!】shell批量采集百度下拉框关键词
[亲测好用!]shell批量采集百度下拉框关键词 SEO工具 方法 11个月前 (11-18) 2153浏览 3条评论 百度已收录 一直想写一篇用shell采集百度下拉框关键词的教程,个人感觉用 ...
- 仿百度下拉关键词,和关键词的小demo
自己做项目时用到的仿百度下拉关键词 代码: $(function(){ var oTxt = document.getElementById('search_text'); oTxt.onkeyup ...
- vue的jsonp百度下拉菜单
通过vue的jsonp实现百度下拉菜单的请求,vue的版本是2.9.2 <!DOCTYPE html> <html lang="en"> <head& ...
- vue实现百度下拉框
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
随机推荐
- Redis安装配置
Redis有服务端和客户端 服务端: 服务端下载地址: https://github.com/dmajkic/redis/downloads 解压后: 然后进入CMD命令: 不要关闭此命令窗(关闭服务 ...
- [转载]C#使用Interlocked进行原子操作
原文链接:王旭博客 » C# 使用Interlocked进行原子操作 什么是原子操作? 原子(atom)本意是"不能被进一步分割的最小粒子",而原子操作(atomic operat ...
- 【一次面试】再谈javascript中的继承
前言 面向对象编程是每次面试必问的知识点,而前端js如何实现继承每次命中率高达80% 这不,近两天我们面试时候,同事就问道面试者此问题,但是,不论之前自己做的回答,还是面试者的回答,基本都不太令人满意 ...
- iOS开发需要哪些图片?
1.产品设计图 可以以6的长宽比 750*1134来设计.这些图片用于描述app是什么样子的,这是app开发人员的开发参考. 2.产品切图 将设计师将设计稿切成可以用来开发的图 颜色值 iOS颜色值取 ...
- [Objective-C]关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)
关联 关联是指把两个对象相互关联起来,使得其中的一个对象作为另外一个对象的一部分. 关联特性只有在Mac OS X V10.6以及以后的版本上才是可用的. 在类的定义之外为类增加额外的存储空间 ...
- IOS开发基础知识--碎片7
三十八:各个版本IPHONE分辨率及图片的实现原理 desert@2x : iPhone 4s ( x ) desert-568h@2x : iPhones , 5C and 5S ( x ) des ...
- Seriailizable(序列化) 的是使用
1.序列化的目的.作用: 为了保存对象的各种状态到内存中(实例变量不是方法),并且可以把保存的对象状态再读取出来.Java提供一种保存对象状态的机制,就是序列化. 2.什么情况下需要序列化 ...
- 了解HTML 盒模型
HTML在布局上, 有一个非常重要的模型, 那就是盒子模型, 在盒子模型中把标签内容理解为一个物品, 而css样式理解为包容着这个物品的盒子, 一般的块级标签都具有盒子模型的特征, 你可以在css中对 ...
- Git 简易手册
前言 这里就不介绍 git 了,表一看到命令行就怕怕,常用的命令也就这些,基本满足 99% 以上的项目需求,非常实用. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnbl ...
- 集合2--毕向东java基础教程视频学习笔记
Day14 08 LinkedList09 LinkedList练习10 ArrayList练习11 ArrayList练习2 12 HashSet13 HashSet存储自定义对象14 HashSe ...