`
落叶换新叶
  • 浏览: 25726 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

angular入门

阅读更多

angular采用的是1.6.5,

1.ng-model,ng-include,ng-click,ng-hide,ng-show,form表单的使用

 

<!doctype html>
<html>
   <head>
      <script src="angular.js"></script>
   <title>第一个AngularJS程序</title>
   </head>
   <body>    
	  <div ng-app="mainApp" ng-controller="studentFun">
	      <br>------------------ng-model-------------------</br>
		  <div><input type="text" ng-model="studentDTO.firstName"></div>
		  <div><input type="text" ng-model="studentDTO.lastName"></div>
		  <div><input type="text" ng-model="studentDTO.fees"></div>
		  <div>{{studentDTO.fullName()|uppercase}}</div>
		  <div>{{studentDTO.fees|currency}}</div>
		  <div><input type="text" ng-model="subjectName"></div>
		  <div>
		      <ul>
			      <li ng-repeat="subject in studentDTO.subjects | filter:subjectName|orderBy:'marks'">{{subject.name+",marks"+subject.marks}}</li>
			  </ul>
		  </div>
		  <br>-------------------include 引用----------------------</br>
		  
		  <div ng-include="'main.html'"></div>
		  
		  <br>------------------ng-click,ng-hide,ng-show----------------</br>
		  <div>
			  <input type="checkbox" ng-model="enableDisableButton"/>button
			  <button ng-disabled="enableDisableButton">click me</button>
			  
			  <div>{{clickCouter}}</div>
			  <button ng-click="clickCouter=clickCouter+1">click me</button>
			  
			  <div><input type="checkbox" ng-model="showButton">button</div>
			  <div><button ng-hide="showButton">click me</button></div>
			  
	      </div>
		  <br>-----------------------form---------------------</br>
		  <div>
		      <form name="studentForm">
			      <input type="text" name="firstName" ng-model="firstName" required>
				  <span style="color:red" ng-show="studentForm.firstName.$dirty && studentForm.firstName.$invalid">
				        <span ng-show="studentForm.firstName.$error.required">姓氏不能为空</span>
				  </span>
				  <input type="email" name="email" ng-model="email" length="100" required>
				  <span style="color:red" ng-show="studentForm.email.$dirty && studentForm.email.$invalid">
				     <span ng-show="studentForm.email.$error.required">邮箱不能为空</span>
					 <span ng-show="studentForm.email.$error.email">不符合邮箱规则</span>
				  </span>
				  
			  </form>
		  </div>		  
	  </div>	  	  
	  <script>
	     var mainApp = angular.module("mainApp",[]);
		 mainApp.controller("studentFun",function($scope){	     
			$scope.studentDTO = {
			     firstName:"李",
				 lastName:"四",
				 fees:"200",
				 subjects:[
				     {name:"物理",marks:83},
					 {name:"化学",marks:81},
					 {name:"数学",marks:82}
				 ],
				 fullName:function() {
				     var studentObject = $scope.studentDTO;
				     return studentObject.firstName+studentObject.lastName;
				 }
			};
		 });
	  </script>
      <script>
         angular.module("myapp", [])
         .controller("HelloController",function($scope) {
            $scope.helloTo = {};
            $scope.helloTo.title = "AngularJS";
         });
      </script>
   </body>
</html>


<script>
    angular.module("app",[]).controller('helloController',function($scope) {
	     $scope.product = {};
		 $scope.product.productName = '产品名称';
		 $scope.product.price = 10.01;
	});
	
</script>

main.html

<table border="0">
   <tr><td>姓氏:</td><td><input type="text" ng-model="studentDTO.firstName"></td></tr>
   <tr><td>名字: </td><td><input type="text" ng-model="studentDTO.lastName"></td></tr>
   <tr><td>全名: </td><td>{{studentDTO.fullName()}}</td></tr>
</table>

 2.ajax的使用,这个是重点,前后端分离必须要用到的  

    注:1.6版本以前采用的是$http.get().success(),在1.6版本之后采用的是$http.get().then()

 

<html>
<head>
<title>Angular JS Controller</title>
<script src="angular.js"></script>

</head>
<body>
<h2>ajax请求</h2>
<div ng-app="mainApp" ng-controller="studentController">
    <table>
	   <tr>
	      <td>名称</td><td>号码</td><td>百分比</td>		  
	   </tr>
	   <tr ng-repeat="s in students">
		  <td>{{s.name}}</td><td>{{s.phone}}</td><td>{{s.percent}}</td>
	   </tr>
	</table>    
</div>
<script>
var mainApp = angular.module("mainApp", []);

mainApp.controller('studentController', function($scope,$http) {
   $http.get("./data.json",{  
		params: {  
			name: '张三',  
			age: 'abc'  
		}  
   }).then(function(response) {             
        $scope.students = response.data;
	  //    $scope.student = JSON.parse(response)
   },function(response){
       alert("error:"+error);
   });
});
</script>
</body>
</html>

data.json

[{
   "name":"周杰伦",
   "phone":"12345",
   "percent":"0.2"
},{
   "name":"李晓春",
   "phone":"1234567",
   "percent":"0.3"
},{
   "name":"李连杰",
   "phone":"112211",
   "percent":"0.5"
}]

 3.ng-routeProvider,ng-template,ng-view的使用,用的场景可能就是tab页

    注:1.6版本之前不需要$locationProvider.hashPrefix(''),这个作用是处理点击链接时会出现#!addStudent的现象

<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
   <title>Angular JS 视图</title>
   <script src="angular.js"></script>
   <script src="angular-route.min.js"></script>
</head>
<body>
   <div ng-app="mainApp">
       <a href="#addStudent">添加学生</a>
	   <a href="#viewStudent">查询学生</a>
	   <div ng-view></div>
	   <script type="text/ng-template" id="addStudent.htm">
	       <h2>添加学生</h2>
		   {{message}}<br>		  
	   </script>
	   <script type="text/ng-template" id="viewStudent.htm">
	       <h2>查询学生</h2>
		   {{message}}<br>
	   </script>
   </div>
   <script>
       var mainApp = angular.module("mainApp",['ngRoute']);
	   mainApp.config(['$locationProvider','$routeProvider',function($locationProvider,$routeProvider){
	        $locationProvider.hashPrefix('');
	        $routeProvider.when('/addStudent',{
			      templateUrl:'addStudent.htm',
				  controller:'addStudentController'
			}).when('/viewStudent',{
			      templateUrl:'viewStudent.htm',
				  controller:'viewStudentController'
			}).otherwise({
			      redirectTo:'/addStudent'
			});
	   }]);
	   mainApp.controller("addStudentController",function($scope){
	        $scope.message="这是一个提示信息,添加学生";			
	   });
	   mainApp.controller("viewStudentController",function($scope){
	        $scope.message="这是一个提示信息,查询学生";
	   });   
   </script>
</body>
</html>

 4.factory的使用,factory,service,controller这种写法有点像是后端的dao,service,controller层,代码最后注释掉的部分是采用(this.$get)AngularJS内部创建服务,工厂

 

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
   <title>Angular JS</title>
   <script src="angular.js"></script>
</head>
<body>
  <div ng-app="mainApp" ng-controller="calcuController">
      <div><input type="text" ng-model="number"></div>
	  <div><button ng-click="quire()">X</button></div>
	  <div>{{result}}</div>
  </div>
  <script>
     var mainApp = angular.module("mainApp",[]);
	 mainApp.value("defaultInput",5);
	 mainApp.factory("MathService",function(){
	      var factory = {};
		  factory.multiply = function(a,b) {
		      return a*b;
		  }
		  return factory;
	 });
	 mainApp.service("cicleService",function(MathService){
	      this.square = function(a) {
		      return MathService.multiply(a,a);
		  }
	 });
	 mainApp.controller("calcuController",function($scope,cicleService,defaultInput){
	      $scope.number=defaultInput;
	      $scope.quire = function() {
		      $scope.result = cicleService.square($scope.number);
		  }
	 });
	 
	 //mainApp.config(function($provide) {
	 //     $provide.provider("MathService",function(){
	//	      this.$get = function() {
	//		      var factory = {};
	//			  factory.multiply = function(a,b) {
	//			      return a*b;
	//			  }
	//			  return factory;
	//		  }
	//	  });
	 //});
	 
	 
  </script>
</body>
</html>

 

 

 

 

 

 

分享到:
评论

相关推荐

    Angular入门教材及示例代码

    **Angular入门教材及示例代码** Angular是一款由Google维护的开源JavaScript框架,主要用于构建单页应用程序(SPA)。它提供了一套完整的解决方案,包括数据绑定、依赖注入、路由、模块化和许多其他特性,使得开发...

    Angular入门基础1

    Angular入门基础1主要介绍了AngularJs的基本概念、优势以及版本之间的差异,并通过实例展示了如何创建一个Angular4应用。AngularJs是一个JavaScript框架,由谷歌公司于2009年发布,主要用于构建Web、Mobile和Desktop...

    Angular入门教程1

    **Angular入门教程1** 在开始Angular的开发之旅之前,我们需要先搭建好开发环境。本文将指导您完成必要的准备工作,包括安装Node.js、TypeScript以及Angular CLI,并提供学习资源和项目实战指南。 ### 1. 搭建环境...

    angular入门开始项目

    angular入门开始项目

    angular4.x、angular5实战入门视频教程

    angular4.x、angular5实战入门视频教程,angular4.x、angular5实战入门视频教程

    angular-webpack:带有Webpack的Angular入门套件

    Angular Webpack 带有的Angular入门套件入门依存关系(&gt; = 6.9.1)设置git clone https://github.com/bellizio/angular-webpack.git cd angular-webpack yarn install概述这是一个基于官方的Angular Webpack入门工具...

    angular-webpack-material-lazyload-typescript-starter-template:使用typescript,Angular-material,ui-router,带有webpack支持的oclazyload的Angular入门模板

    使用打字稿,Angular-material和Webpack支持的Angular入门模板。 演示: : 产品特点 带有打字稿的AngularJs(v1.6.10)组件架构 与Angular Material集成(v1.1.9) 基于Webpack(v4.7.0)的捆绑系统 使用Angular ...

    Angular4示例_Visual Studio 2017

    Visual Studio Angular4开发示例--数据显示

    Angular初级.pdf

    Angular初级

    angular2 入门和示例书

    **Angular2 入门** Angular2 是一个流行的前端框架,由Google维护,用于构建高性能、可维护的单页应用程序(SPA)。它采用TypeScript作为主要开发语言,提供强大的数据绑定和组件化特性,使得开发复杂Web应用变得...

    cmp-databinding-start:Academind Angular入门课程-数据绑定迷你项目

    这个项目是Academind提供的Angular入门课程的一部分,特别关注的是TypeScript在数据绑定中的应用。 首先,让我们了解数据绑定的基本概念。数据绑定是Angular中连接应用业务逻辑(模型)与用户界面(视图)的桥梁。...

    揭秘Angular2

    angular入门教程,《揭秘Angular 2》第一部分从前端的故事起点说起,然后对 Angular 以及 TypeScript 进行了简单的介绍,接着通过一个通讯录例子让读者快速入门 Angular 的开发;第二部分则深入讲解了 Angular 架构...

    Koa-Angular-Starter:使用护照授权的Koa + Angular入门者

    使用护照认证的Koa和Angular2入门版! 先决条件 (建议使用版本6及更高版本) (仅在生产模式下-用于会话); 安装 克隆存储库。 git clone https://github.com/thestdio/Koa-Angular-Starter.git 安装软件包...

    AngularJs入门学习实例

    **AngularJS 入门学习实例** AngularJS 是一个强大的前端JavaScript框架,由Google维护,用于构建动态Web应用。它通过MVC(Model-View-Controller)架构模式简化了开发过程,提供数据绑定、依赖注入、模块化等功能...

    AngularJS书两本

    随着版本迭代,AngularJS 1.x与更新的Angular(2+)之间存在显著差异,因此书籍可能也会对比两者,帮助读者理解升级路径和新版本的优势。 总的来说,这两本书全面覆盖了AngularJS从入门到进阶的各个层面,无论是...

    Angular 基础教程(7.0)[大漠穷秋](2).pdf

    - **Angular入门**:指教程的初衷是为了让初学者快速掌握Angular的基本概念和使用方法。学习Angular涉及到理解其核心概念,如组件、路由、模块等。 ### 标签知识点 - **angular**:指出了教程的主体内容是围绕...

    angular2入门教程基于官网案例整合而成

    这个入门教程是基于 Angular 官方提供的案例整合而成,旨在帮助初学者快速掌握 Angular 2 的核心概念和基本用法。下面将详细阐述 Angular 2 的主要知识点。 1. **组件系统**:Angular 2 的核心是组件化,它将用户...

    Angular 实例(购物车展示)

    Angular入门级代码测试,主要用到的技术:Angular双向绑定,Angular对数组的常规操作

Global site tag (gtag.js) - Google Analytics