Angular 基础

安装

1.官网http://angularjs.org/下载安装

2.开源库http://www.bootcdn.cn/下载安装

Angular除了提供一些需要最新浏览器支持的功能外,同时提供以下标准功能:

  • 依赖注入
  • 模板
  • 路由(@angular/router)
  • AJAX(@angular/http)
  • 表单(@angular/forms)
  • 组件化CSS封装
  • XSS保护
  • 单元测试工具

功能丰富的好处就是你不需要额外费精力去挑选第三方的类库,然而,这也同样让你没得选择,即使你并不需要这些功能(最新发布的Angular4貌似已经意识到了这个问题)

MVC

MVC即“模型 - 视图 - 控制器”的简称,一种设计模式,MVC的从逻辑上将代码清晰地分割为三层,这样可以对每个部分进行独立开发、测试和维护。

  • 模型/Model - 服务层(service)负责维护数据
  • 视图/View - 展示层(diretive)负责将数据展现给用户
  • 控制器/Controller - 控制层(control)负责控制Model和View之间的交互

应用场景

开发环境 <script src="angular.js"></script>

angualr应用创建基本步骤
 1   <!DOCTYPE html>
 2     <html lang="en" ng-app="demo">
 3   <head>
 4     <meta charset="UTF-8">
 5     <title>demo</title>
 6       <link rel="stylesheet" href="bootstrap.css">
 7
 8     //link标记允许当前文档和外部文档之间建立连接,但是只能在head标签里面用
 9         <script src="angular.js"></script>
10   </head>
11   <body>
12     {{1+1}} {{msg}}
13     <div id="box" ng-controller="oneCtrl">
14     {{1+1}} {{msg}}
15 </div>
16     <script>
17         (function(){
18             angular.module("demo",[])
19              demo.controller("oneCtrl",function($scope){
20
21              //学习中一般这样用 当代码上线压缩后 这段代码会有问题
22
23             demo.controller("myctrl"["$scope","$http"],function (scope,http) {
24             // 开发中要用的表达式
25
26
27              $scope.msg = "hello angular!"
28    })
29 })()
30 </script>

从其他博客整理来的知识点

1.ng-app,ng-app="",ng-app="demo"三者的区别

答:ng-app有一个默认的模块。如果有多个ng-app,默认是加载第一个,而且只加载第一个。ng-app=“自定义的模块” 是一个使用了自定义的模块,该自定义的模块继承了那个初始的默认的模块,可以调用初始的默认的模块的方法第二者是第三者的特例。

2.为什么没有ng-app,也可以启动angular?

答:如果在当前的页面中包含有ng-app这个指令,angular会自动启动,如果不想在当前的页面中显示标识ng-app,我们可以代码的方式手动启动,即通过angular.bootstrap(document,["demo"])手动启动,等价于ng-app="demo";

3.angular.bootstrap(document.getElementById("box"),["demo"])的作用?

答:angular.bootstrap(启动位置,数组),启动位置:表示管理范围,数组:表示把数组中的当成启动模块

控制器之间的继承

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>demo</title>
 6     <link rel="stylesheet" href="bootstrap.css">
 7     <script src="angular.js"></script>
 8 </head>
 9 <body>
10     {{1+1}} {{msg}}
11     <div id="box" ng-controller="oneCtrl">
12         {{1+1}} {{msg}}
13     </div>
14     <script>
15         (function(){
16             angular.module("demo",[])
17                 .controller("oneCtrl",function($scope){
18                     $scope.msg = "hello angular!"
19                 })
20             angular.bootstrap(document,["demo"]);
21             angular.bootstrap(document.getElementById("box"),["demo"]);
22         })()
23     </script>
24 </body>
25 </html>
bootstrap插件使用官网上   http://getbootstrap.com查阅使用以后仔细学过再来做笔记

Angular控制器

控制angular应用程序的数据。

控制器是JavaScript对象,构造函数

Angular模块

模块对应执行应用的HTML元素

模块可在angular 应用中添加控制器,指令,服务等。

Angular scope(作用域)

作用域是在应用在HTNL(视图)和JS(控制器)之间

当angular创建控制器时可以将$scope对象当做参数传递

scope是一个对象,有可用方法和属性

简单的理解:$scope 局部作用域

$rootscope   全局作用域

Angular scope 事件

ng-click/dblclick 点击/双击

ng-mouseover/out

ng-keydown/up

ng-focus/blur 获取焦点

ng-submit

Angular  指令

指令 是扩展HTNL 为内置的指令来为应用添加功能 带有前缀  ng-

ng-init 初始化应用程序数据

ng-model 绑定到应用程序(比如输入的域的值)

ng-repeat 对于集合中(数组中)的每个项 克隆一次HTML元素( 指令用于循环输出指定次数的 HTML 元素)

 1 <!doctype html>
 2 <html lang="en" ng-app="zidingyi">
 3 <head>
 4     <meta charset="utf-8">
 5     <title>repeat</title>
 6     <meta name="keywords" content="">
 7     <meta name="description" content="">
 8    <script src="angular.min.js"></script>
 9 </head>
10 <body>
11     <ul ng-controller="myctrl">
12         <li ng-repeat="persen in data">
13                 <!-- 循环(for in 循环) -->
14             <span>年龄:{{persen.name}}</span>
15             <span>年龄:{{persen.age}}</span>
16             <span>年龄:{{persen.score}}</span>
17         </li>
18     </ul>
19     <script>
20         var app=angular.module("zidingyi",[])
21         app.controller("myctrl",function ($scope) {
22             $scope.data=[
23                 {"name":"张三","age":22,"score":98},
24                 {"name":"李四","age":23,"score":70},
25                 {"name":"王五","age":28,"score":90},
26                 {"name":"赵六","age":31,"score":100}
27             ];
28         })
29     </script>
30 </body>
31 </html>

运行结果

 
时间: 2024-10-19 04:00:53

Angular 基础的相关文章

angular基础

常用的设计原则和设计模式 1.设计原则(明确)① YANGI(You aren't gonna need it) 不写不需要的代码②KISS(Keep it simple and stupid) 代码越简单越好③DRY(Don't Repeat Yourself)封装代码④高内聚低耦合内聚:一个模块内部的不同部分之间的关系耦合:不同模块/组件的关系⑤SRP(single responsibility principle) 单一责任原则⑥OCP(open closed principle) 开闭原

【Angular】Angular基础(3)

Angular基础(3) -------Angular Bootstrap 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <link rel="stylesheet" href="//apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.min.css"> 6 &

第214天:Angular 基础概念

一.Angular 简介 1. 什么是 AngularJS - 一款非常优秀的前端高级 JS 框架 - 最早由 Misko Hevery 等人创建 - 2009 年被 Google 公式收购,用于其多款产品 - 目前有一个全职的开发团队继续开发和维护这个库 - 有了这一类框架就可以轻松构建 SPA 应用程序 - 轻松构建 SPA(单一页面应用程序) - 单一页面应用程序: + 只有一个页面(整个应用的一个载体) + 内容全部是由AJAX方式呈现出啦的 - 其核心就是通过指令扩展了 HTML,通过

Angular基础(二) 组件的使用

? 一.简单操作 a) 使用Angular CLI可以快速创建项目框架,先运行 $ npm install –g @angular/[email protected]安装CLI,为CLI的位置设置环境变量,然后就可以全局使用ng命令了. 执行ng new –ng4 angular-hello-world可以创建Angular4项目,会自动生成基础的文件夹和文件,还会自动进行npm i操作,下载并安装所需的依赖. 然后执行ng serve就可以编译并启动这个程序了,但ng并不会自动打开浏览器. b

Angular基础(三) TypeScript

一.模仿Reddit a) 运行ng new –ng4angular-reddit创建应用,从随书代码中复制样式文件,新建组件app-root,代码为: 界面可以看到了: b) 对于界面输入的数据,获取的方式有点特别,使用了#newlink这样的语法,newlink是一个对象,现在代表就是所在的input这个DOM元素. 将对象作为参数传递给addArticle方法,在对应的ts代码中,可以获取newlink.value.newlink是HTMLInputElement类型. c)关于参数的绑定

angular 基础练习

<!DOCTYPE HTML> <html> <head> <title> 测试页 </title> <meta charset="utf-8"> </head> <body ng-app="myApp"> <div ng-controller="query"> <input id="input" ng-model

Angular基础(六) DI

  一.依赖注入 a) 如果模块A需要依赖模块B,通常的做法是在A中导入B,import{B} from 'B',但有一些场合需要解除这种直接依赖,比如单元测试时需要mock一个B对象.还有时要创建B的单例或者用工厂模式生成B,这时适合使用依赖注入(Dependency Injection)的方式来解除对B的直接依赖. b) Angular的依赖注入框架包含三部分,Provider.Injector.Dependency,三者的关系为: Provider的作用是建立类与其依赖项之间的映射(map

Angular基础(二)

双向数据 利用angular把input框里面的值和h3的值绑定在一起.在input里输入内容,内容会在h3标签里显示出来. 具体效果请看下面代码:   <!DOCTYPE html>   <html>   <head>   <meta charset="UTF-8">   <title></title>   </head>   <body ng-app="app">  

Angular 基础入门

简介 什么是AngularJS 一个功能非常完备的前端框架,通过增强HTML的方式提供一种便捷开发Web应用程序的方式 其核心特点就是几乎无任何DOM操作,让开发人员的精力和时间全部集中于业务 MVC的特性增强了代码的结构和可维护性,应对需求的变化做出最小的改动 为什么使用AngularJS 更少的代码实现更强劲的功能 提供了很多在传统后端开发中大量使用的思想和方式,提高前台代码的结构和可维护性 使用AnuglarJS的流程 在HTML中引入Angular.js文件 在自己的代码中定义一个Ang

Angular基础(五) 内建指令和表单

? Angular提供了一些内建的指令,可以作为属性添加给HTML元素,以动态控制其行为. 一.内建指令 a) *ngIf,可以根据条件来显示或隐藏HTML元素. <div *ngIf='a>b'>show</div>,只有在a>b的时候才会显示这个div. b)*ngSwitchCase,可以根据不同的条件,控制对应的HTML元素的显示. <div[ngSwitch]='myVar'> <div *ngSwitchCase="'a'&quo