`
Franciswmf
  • 浏览: 800270 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

AngularJS 学习示例

 
阅读更多
1、九种提高AngularJS性能的方法
http://www.iteye.com/news/32507


例子1:
<!DOCTYPE html>
<html ng-app="demoApp">
<head>
<meta charset="utf-8">
<script src="editor-app/libs/angular_1.2.13/angular.min.js"></script>
<script src="editor-app/libs/angular_1.2.13/angular-animate.min.js"></script>
<script src="test/demo.js"></script>

</head>
<!-- body #s -->
<body >
<!--  -->
<h5>1、ng-model属性双向绑定“\{\{\}\}”</h5>
	<div ng-controller="helloCtrl">
		<p>名字输入 : <input type="text" name="world" ng-model="world" /></p>
		<p>Hello后面输出: {{world}}</p>
	</div>
 	
<h5>2、ul-ol-li筛选、 排序示例</h5>
	<div ng-controller="phoneListCtrl">
		<input ng-model="quer"/>
		<select ng-model="sortType">
			<option value="name">按姓名</option>
			<option value="age">按年龄</option>
		</select>
		<ul>
		
		  <li ng-repeat="phone in phones |filter:quer |orderBy:sortType">
		   <p>{{phone.name}}--{{phone.age}}--{{phone.snippet}}--<img ng-src="{{phone.imsrc}}"/></p>
		  </li>
		</ul>
		<ol>
		
		  <li ng-repeat="phone in phones |filter:quer |orderBy:sortType">
		   <p>{{phone.name}}--{{phone.age}}--{{phone.snippet}}--<img ng-src="{{phone.imsrc}}"/></p>
		  </li>
		</ol>
	</div>
  
<h5>3、简单金额统计</h5>
<div ng-controller="multipleController">
数量:<input type="number" min="0" max="10" required ng-model="num1"/>
单价:<input type="number" min="1" max="100" required ng-model="num2"/>
<p>总计(默认美元形式):{{num1*num2 | currency}}</p>
<p>总计(指定人民币形式):{{num1*num2 | currency:"RMB ¥"}}</p>
</div>
	
<h5>4、filter:内置过滤器;自定义过滤器</h5>
<div ng-controller="filterController">
	<input ng-model="lower">
	<input ng-model="upper">
	    <p>{{ lower | lowercase }}</p>
	    <p>{{ upper | uppercase }}</p>
</div>

<h5>5、指令directive示例-根据格式显示时间</h5>
<div ng-controller="directiveController">
 <p> 要显示的时间格式:<input ng-model="format"/></p>
 <p>当前时间:<span my-current-time></span></p> 
</div>

<h5>6、</h5>
<div ng-controller="showHideController">
<p><button ng-click="toggle()">显示/隐藏</button></p>
<p ng-hide="myVar">
名:<input ng-model="ming"/>
姓:<input ng-model="xing"/>
----姓名:{{xing+" "+ming}}
</p>

</div>

 
<h5>7、自定义服务</h5>

<div  ng-controller="myController7">
	<input ng-init="message='good'" ng-model="message"/>
	<button ng-click="callNotify(message);">notify</button>
</div>


<script type="text/javascript">
var app=angular.module("demoApp",[]);
//demo1
app.controller("helloCtrl",function($scope){
	$scope.world="angularjs text";//初始值
});
//demo2
var phoneListCtrl=['$scope','$http',function($scope,$http){
	$scope.phones=[
	               {name:"小赵",age:"34",snippet:"行政",imsrc:"editor-app/images/bpmn-error.png"},
	               {name:"张域",age:"19",snippet:"法务",imsrc:"editor-app/images/datadefinition.png"},
	               {name:"刘芳",age:"25",snippet:"财务",imsrc:"editor-app/images/wrench.png"},
	               {name:"袁华",age:"46",snippet:"运营",imsrc:"editor-app/images/delete.png"},
	               {name:"小孙",age:"22",snippet:"技术",imsrc:"editor-app/images/bpmn-warning.png"}
	               ];
	//方式二赋值
	//$http.get('test/test.json').success(function(data){
	//	$scope.phones=data;
	//});
	$scope.sortType='age';
}];
//demo3
function multipleController($scope){
	//初始
	$scope.num1=2;
	$scope.num2=4;
}
//demo4
function filterController($scope){
	//初始
	$scope.lower="UPPERCASE LETTERS TO LOWERCASE";
	$scope.upper="lowercase letters to uppercase";
}
//demo5
function directiveController($scope){
	$scope.format='yyyy-MM-dd HH:mm:ss';
}
//在module模块中新建指令
app.directive('myCurrentTime',function($timeout,dateFilter){
	return function(scope,element,attrs){
		var format,timeoutId;
		function updateTime(){
			element.text(dateFilter(new Date(),format));
		}
		//$watch监听scope值的改变
		scope.$watch('format',function(value){
			format=value;
			updateTime();
		});
		function updateLater(){
			timeoutId=$timeout(function(){
				updateTime();
				updateLater();
			},1000);
		}
		element.bind('$destroy',function(){
			$timeout.cancel(timeoutId);
			console.log(timeoutId);
		});
		updateLater();
		
	}
});
//demo6
app.controller("showHideController",function($scope){
	$scope.xing="雷";
	$scope.ming="小风"
	$scope.myVar=false;
	$scope.toggle=function(){
		$scope.myVar=!$scope.myVar;
	}
});

//demo7--服务factory-callNotify调用自定义服务notifyService
angular.module("demoApp", []).factory('notify',['$window',function(win){
	var msgs=[];
	return function(msg){
		msgs.push(msg);
		if(msgs.length==3){
			win.alert(msgs.join('\n'));
			msgs=[];
		}
	};
}]);

function myController7(scope,notifyService){
	scope.callNotify=function(msg){
		notifyService(msg);
	};
}

myController7.$inject=['$scope','notify'];

</script> 	
</body>
<!-- body #e -->
</html>

例子2:
<!DOCTYPE html>
<html ng-app="demoApp">
<head>
<meta charset="utf-8">
<script src="editor-app/libs/angular_1.2.13/angular.min.js"></script>
<script>
var app=angular.module("demoApp",[]);
app.controller("demoController",function($scope){
	//初始化
	$scope.productsList=[
	  {name:"苹果",category:"水果",other:"--"},
	  {name:"香蕉",category:"水果",other:"--"},
	  {name:"黄瓜",category:"蔬菜",other:"--"},
	  {name:"豆角",category:"蔬菜",other:"--"},
	  {name:"西瓜",category:"水果",other:"--"},
	  {name:"米",category:"其它",other:"--"},
	  {name:"白菜",category:"蔬菜",other:"--"},
	  {name:"油",category:"其它",other:"--"},
	  {name:"萝卜",category:"蔬菜",other:"--"}
	];
	$scope.quantity=0;
	$scope.price=0;
	//点击计算按钮
	$scope.countTotalFunction=function(){
		if(undefined==$scope.productName||null==$scope.productName){
			alert("请选择商品名称!");
		}else{
			alert('商品名称:'+$scope.productName.name+",总计: "+$scope.quantity*$scope.price);
		}
	};
});

</script>
</head>

<body >
<div style="text-align: left;margin-left: 200px;">
	<h5>DEMO:购买某种商品的金额统计</h5>
	<div ng-controller="demoController">
		<p>商品名称:
		 <select ng-model="productName" ng-options="p.name group by p.category for p in productsList">
		 	<option value=''>--请选择--</option>
		 </select>
		</p>
		<p>数量:<input type="text" ng-model="quantity" required /></p>
		<p>单价:<input type="text" ng-model="price" required /></p>
		<p>自动统计金额:{{quantity*price}}</p>
		<button ng-click="countTotalFunction()">手动计算金额</button>
	</div>
</div>
<!--
PS:
	1-$scope作用域是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带,数据绑定就靠它。
	  	$rootscope是各个controller中scope的桥梁。用$rootscope定义的值,可以在各个controller中使用。
	2-AngularJS拥有许多扩展的HTML属性即指令:
		如ng-app,ng-init,ng-model,ng-controller,ng-click,ng-change,ng-class,
		ng-show,ng-hide,ng-disabled,ng-cloak,ng-view,ng-bind,
		ng-include,ng-options...
    3-AngularJS服务:
   		$http $location $timeout $interval $q $routeProvider $log....
-->
</body>
</html>
分享到:
评论

相关推荐

    AngularJS学习笔记

    ### AngularJS学习笔记知识点解析 #### 一、AngularJS简介 AngularJS是由Google推出的一款JavaScript库,虽然在本文档中作者将其称为“工具”,但实际上它更接近于一个完整的前端开发框架。AngularJS的设计理念...

    AngularJS(1.7.3)学习示例

    **AngularJS(1.7.3)学习示例** AngularJS是Google开发的一款强大的前端JavaScript框架,用于构建动态Web应用程序。这个"AngularJS(1.7.3)学习示例"是一个基于Visual Studio 2017 (VS2017) MVC搭建的项目,特别适合...

    Spring Boot、Spring Data JPA与AngularJS 结合示例.zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主...4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。

    AngularJs学习笔记.docx

    ### AngularJS 学习笔记 #### 一、AngularJS 概述 AngularJS 是一个用于构建动态Web应用的开源框架,由 Google 维护。它通过扩展 HTML 的功能来简化 Web 开发,并允许开发者以声明式的方式编写代码,极大地提高了...

    angularjs学习资料

    AngularJS,是由Google...总之,这个压缩包中的资料是一个全面的AngularJS学习资源库,无论你是初学者还是有一定经验的开发者,都能从中找到有价值的信息,提升你的AngularJS技能。祝你在学习的道路上取得丰硕的成果!

    springboot1.4.2+angularJs示例

    综上所述,这个示例项目是一个基于Spring Boot和AngularJS的Web应用,涵盖了数据库操作、文件管理以及部署到外部Tomcat服务器的能力,为学习者提供了一个全面了解Spring Boot集成Web开发的实践案例。

    angularjs-examples:AngularJS 基本示例

    在示例中,你将学习如何定义和依赖注入模块。 ### 8. 测试 AngularJS 提供了测试工具如 Karma 和 Jasmine,以便于单元测试和端到端测试。示例可能会包括如何编写和运行测试用例,确保代码的质量和稳定性。 通过...

    angularjs:示例代码

    这个"angularjs:示例代码"的资源,很可能是基于《AngularJS Up and Running》这本书中的实践示例,这本书旨在帮助开发者快速掌握AngularJS的核心概念和实践技巧。 AngularJS的核心特性包括数据绑定、依赖注入、指令...

    AngularJS API常用方法示例

    **AngularJS API常用方法示例** AngularJS,作为一款强大的前端JavaScript框架,为开发者提供了丰富的API,用于构建交互式、动态的Web应用。本篇将详细介绍一些AngularJS API的常用方法,帮助你更好地理解和运用这...

    ngbook:开始吧! AngularJS 编程示例

    AngularJS编程示例》是一本深入讲解AngularJS框架的电子书,它旨在帮助开发者快速理解和掌握AngularJS的核心概念与实践技巧。AngularJS是Google推出的一款强大的JavaScript MVC(Model-View-Controller)框架,它极...

    AngularJS学习.doc

    ### AngularJS基础知识与应用 #### 引入AngularJS AngularJS是一种开源的JavaScript框架,用于构建动态Web应用程序。为了在项目中使用AngularJS,我们首先需要将其脚本文件引入到HTML文档中。以下是一个示例: ``...

    AngularJS学习笔记.pdf

    ### AngularJS 学习笔记知识点总结 #### 一、AngularJS 概述 AngularJS 是由 Google 开发的一款开源 JavaScript 库,它提供了一种全新的应用程序组织与开发方式。AngularJS 的核心特性之一就是**数据双向绑定**,...

    angularjs学习笔记本

    这个"angularjs学习笔记本"很可能是包含了关于AngularJS的学习资料、示例代码和教程。AngularJS的核心特性是它使用了MVC(Model-View-Controller)架构模式,提供数据绑定和依赖注入,简化了前端开发。 在AngularJS...

    AngularJS 示例代码

    通过深入研究这些示例代码,你不仅可以了解AngularJS的基础知识,还能学习到最佳实践和常见模式。这些代码可以直接应用于你的项目,加速开发进程,同时提供了一个学习和调试的宝贵资源。对于初学者和有经验的开发者...

    angularjs:示例 AngularJs 应用程序

    通过这个 AngularJS 示例应用程序,我们可以学习如何有效地组织和管理应用的各个部分,以及如何利用 AngularJS 的强大功能来构建动态交互的前端应用。实践中,你可以尝试扩展这个例子,比如添加更多视图、改进数据...

    angularjs-chapter5-示例.rar

    通过深入学习和实践这些示例,你将能够掌握AngularJS的核心技能,从而更高效地开发出功能丰富的Web应用。在实际开发过程中,结合标签"angularjs 示例",你可以将这些示例作为参考,解决遇到的实际问题,提高开发效率...

    order-form:带有AngularJS的示例应用

    描述中的“在期间构建的带有AngularJS的示例应用”可能指的是一个教学或学习过程,或者是在某个项目开发过程中创建的。这表明该应用是为了演示或实践AngularJS的核心概念和技术,如数据绑定、指令、服务、过滤器和...

    AngularJS入门示例之Hello World详解

    本篇文章将深入解析AngularJS入门示例——“Hello World”,帮助初学者理解其核心概念。 首先,我们来看一下示例代码: ```html &lt;!doctype html&gt; &lt;title&gt;Hello,World! &lt;script src="angular1.2.25.js"&gt;&lt;/...

Global site tag (gtag.js) - Google Analytics