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_CALLBAC

  $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>

  

时间: 2024-12-24 05:39:22

angular的跨域(angular百度下拉提示模拟)和angular选项卡的相关文章

百度下拉智能搜索提示

此案例使用的时ajax技术实现百度下拉,其中有利用jsonp解决跨域的问题,目前刚接触到ajax技术,在这里分享记录一下学习的痕迹!<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>EMS-jquery查询</title> <style type="text/css"> #sug

百度搜索下拉提示框实现

最近在做百度IFE前端技术学院的题,然后有一题就是模拟百度搜索智能提示.题目是开源的,稍后给出地址. 因为博主没学过后端啊,欲哭无泪,所以不能实现后端模糊搜索,那如果前端ajax纯粹请求一份同样的数据,效果就不好. 机智的博主直接把百度搜索api借来一下. 直接从开发者工具,监控网络,找到请求地址. 百度api: 我把api缩减了一下,删除了大部分暂时用不上的参数. https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=abc&json=

vue的jsonp百度下拉菜单

通过vue的jsonp实现百度下拉菜单的请求,vue的版本是2.9.2 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <script src="vue.min.js"></script> 7 <scri

【CSS3动画】下拉菜单模拟

下拉菜单模拟效果图: CSS3: <style> #box{width:200px; height:50px; overflow:hidden; cursor: pointer; transition: all 0.35s;} #box:hover{height:250px;} #box ul{list-style:none; margin:0; padding:0;} #box ul li{width:198px; height:48px; line-height: 50px; text-a

基于jQuery的input输入框下拉提示层(自动邮箱后缀名)

基于jQuery的input输入框下拉提示层,方便用户输入邮箱时的提示信息,需要的朋友可以参考下 效果图 // JavaScript Document (function($){ $.fn.extend({ "changeTips":function(value){ value = $.extend({ divTip:"" },value) var $this = $(this); var indexLi = 0; //点击document隐藏下拉层 $(docum

史上最全的搜索下拉提示用户交互研究——读《An Eye-tracking Study of User Interactions with Query Auto Completion》

        搜索下拉提示(Query Auto Completion,简称QAC)现在几乎是每个搜索引擎必备的基本功能,作用是在用户在搜索框输入查询词的过程中,给用户展示一系列搜索查询query供用户选择,可以方便用户输入.缩短用户搜索时间.提高用户搜索体验.在这方面的研究已经有很多,如基于上下文.基于时间序列等预测query的热度.个性化排序等,但关于用户如何与搜索下拉提示(下文简称QAC)交互的研究目前还是一个空白. 微软的Katja Hofmann前几天(11.3-11.7)刚刚填补了

jQuery 实现带下拉提示且自动填充的邮箱

<!-- 本文例子所引用的jQuery版本为 jQuery-1.8.3.min.js --> 本文用 jQuery 实现一个用户输入字符时出现能够提示邮箱后缀名的下拉菜单,并且在选择下拉菜单中的邮箱后缀名后可自动填充未完成的输入框,在做这个功能时候,我参考的是网易注册(http://reg.163.com/reg/reg.jsp?product=urs)中的邮箱栏目所实现的功能与效果.这个功能的目的是使用户在填写邮箱栏目的过程中,在带有邮箱后缀名的菜单的提示下,可以不需要完整输入自己的注册邮箱

[WinForm]为ComboBox绑定数据源并提供下拉提示

关键代码: /// <summary> /// 为ComboBox绑定数据源并提供下拉提示 /// </summary> /// <typeparam name="T">泛型</typeparam> /// <param name="combox">ComboBox</param> /// <param name="list">数据源</param>

angular实现跨域

angular.js 自带jsonp,实现跨域,下面来实搜索框的下拉列表,使用百度和360分别尝试一下 百度:url截取之后红色部分需替换 :https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=数据&cb=JSON_CALLBACK 360:https://sug.so.360.cn/suggest?callback=JSON_CALLBACK&word=数据 注意:需要在服务器环境下运行 思路: 1 .声明 angular 2