AngularJS--菜鸟教程笔记

本文介绍了AngularJS的基础概念,包括框架特点、DOM操作改进、数据绑定方法等,并通过实例展示了如何创建自定义指令以及使用过滤器。

1.AngularJS是什么?

AngularJS是一个JavaScript框架。它可以通过<script>标签添加到HTML页面。

AngularJS通过指令扩展了HTML,且通过表达式绑定数据到HTML。

AngularJS是一个JavaScript框架,是一个以JavaScript编写的库。

2.AngularJS需要抛弃什么?

个人理解,angularJS需要抛弃原有的js的dom操作的方法,它比dom操作更加的简便。

3.AngularJ添加属性属性的区别?

angularJS添加属性以ng- 开头,也可以在前面添加data-ng-开头,其他的也不能进行数据绑定操作。

4.AngularJS 表达式 与 JavaScript 表达式

类似于 JavaScript 表达式,AngularJS 表达式可以包含字母,操作符,变量。

与 JavaScript 表达式不同,AngularJS 表达式可以写在 HTML 中。

与 JavaScript 表达式不同,AngularJS 表达式不支持条件判断,循环及异常。

与 JavaScript 表达式不同,AngularJS 表达式支持过滤器。

5.angular指令:

<div ng-app="" ng-init="quantity=1;price=5"> <h2>价格计算器</h2> 数量: <input type="number"    ng-model="quantity">价格: <input type="number" ng-model="price"> <p><b>总价:</b> {{ quantity * price }}</p> </div>

这是从菜鸟教程上面copy下面的,以上代码是可以正常运行的,但是我把ng-app属性加个属性值,例如 ng-app="mao",angularjs就不起作用了。在有属性值得情况下,需要在js里面定义这个应用模块。

<script>            angular.module("app",[]);        </script>

6.创建自定义的指令

创建自定义指令可以通过.directive函数来添加自定义的指令。要调用自定义指令,HTML元素上需要添加自定义指令名。使用驼峰法来命名一个指令,runoobDirective,但是在使用它的时候要以-分割,runoob-directive

使用方式:

a、

<runoob-directive></runoob-directive>

<script>

        var app=angular.module('myApp');

        app.directive('runoobDirective',function(){

                return{

                    template:"<h1>自定义指令</h1>"

                }

        })

</script>

b、通过限制你的指令,只能通过特定的方式进行调用

<script>

        var app=angular.module('myApp');

        app.directive('runoobDirective',function(){

                restrict:"A"

                return{

                    template:"<h1>自定义指令</h1>"

                }

        })

</script>

7.一个应用程序控制两个控制器

效果图如下:

8.过滤器

过滤器可以通过一个管道字符(|)和一个过滤器添加到表达式中。

栗子:

结果


Angular 是一个由 Google 维护的开源前端框架,专为构建高效、可维护的单页应用程序(SPA)设计。它以强大的数据绑定、模块化、依赖注入和丰富的组件库而闻名。对于初学者来说,掌握 Angular 的基础知识和使用方法是迈向现代 Web 开发的重要一步。 ### Angular 的核心特性 - **数据绑定**:Angular 支持双向数据绑定,这意味着视图和模型之间的数据同步是自动完成的,开发者无需手动操作 DOM 来更新数据。 - **模块化**:Angular 应用程序由多个模块组成,每个模块可以包含组件、服务、指令等。这种模块化的设计有助于应用程序的组织和扩展。 - **依赖注入**:Angular 提供了一个强大的依赖注入系统,使得组件和服务之间的耦合度降低,提高了代码的可测试性和可维护性。 - **组件化开发**:Angular 采用组件化的开发模式,每个组件都有自己的模板、样式和逻辑,组件之间可以通过输入输出属性进行通信。 - **TypeScript 支持**:Angular 是基于 TypeScript 构建的,TypeScript 是 JavaScript 的超集,提供了静态类型检查、类、接口等高级特性,有助于编写更健壮和可维护的代码。 ### Angular 的安装与开发环境配置 为了开始 Angular 的学习之旅,首先需要配置开发环境。Angular 官方提供了一个命令行工具 `@angular/cli`,它可以帮助开发者快速搭建 Angular 项目,并自动处理许多配置细节。 #### 安装 Angular CLI 1. 确保你已经安装了 Node.js 和 npm(Node.js 的包管理器)。你可以通过运行以下命令来检查是否已安装: ```bash node -v npm -v ``` 2. 如果尚未安装 Node.js 和 npm,请访问 [Node.js 官网](https://nodejs.org/) 下载并安装。 3. 安装 Angular CLI: ```bash npm install -g @angular/cli ``` 4. 验证安装是否成功: ```bash ng version ``` #### 创建一个新的 Angular 项目 1. 使用 Angular CLI 创建新项目: ```bash ng new my-angular-app ``` 2. 进入项目目录: ```bash cd my-angular-app ``` 3. 启动开发服务器: ```bash ng serve ``` 4. 打开浏览器并访问 `http://localhost:4200/`,你应该能看到 Angular 的默认欢迎页面。 ### Angular 的基本概念 #### 组件 组件是 Angular 应用的基本构建块。每个组件都有一个模板(HTML)、样式(CSS)和逻辑(TypeScript)。创建组件的方式如下: ```bash ng generate component my-component ``` 这将在项目中生成一个新的组件,包含模板、样式和逻辑文件。 #### 数据绑定 Angular 支持多种数据绑定方式,包括插值、属性绑定、事件绑定和双向绑定。 - **插值**:使用双大括号 `{{ }}` 将数据插入到 HTML 中。 ```html <p>{{ message }}</p> ``` - **属性绑定**:使用方括号 `[ ]` 将数据绑定到 HTML 元素的属性上。 ```html <img [src]="imageUrl"> ``` - **事件绑定**:使用圆括号 `( )` 监听 DOM 事件。 ```html <button (click)="onClick()">Click me</button> ``` - **双向绑定**:使用 `[(ngModel)]` 实现表单控件与组件属性之间的双向绑定。 ```html <input [(ngModel)]="name"> ``` #### 服务与依赖注入 服务是 Angular 中用于封装可重用业务逻辑的类。通过依赖注入(DI),可以在组件中轻松使用这些服务。 1. 创建服务: ```bash ng generate service my-service ``` 2. 在组件中注入服务: ```typescript import { Component } from '@angular/core'; import { MyService } from './my.service'; @Component({ selector: 'app-my-component', templateUrl: './my-component.component.html', styleUrls: ['./my-component.component.css'] }) export class MyComponent { constructor(private myService: MyService) {} } ``` #### 路由 Angular 提供了一个强大的路由模块 `@angular/router`,用于实现单页应用中的导航功能。 1. 创建路由模块: ```bash ng generate module app-routing --flat --module=app ``` 2. 配置路由: ```typescript import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; import { HomeComponent } from './home/home.component'; import { AboutComponent } from './about/about.component'; const routes: Routes = [ { path: '', component: HomeComponent }, { path: 'about', component: AboutComponent } ]; @NgModule({ imports: [RouterModule.forRoot(routes)], exports: [RouterModule] }) export class AppRoutingModule {} ``` 3. 在模板中使用路由: ```html <nav> <a routerLink="/">Home</a> <a routerLink="/about">About</a> </nav> <router-outlet></router-outlet> ``` ### Angular Material 的安装与使用 Angular Material 是 Angular 官方提供的 Material Design 组件库,包含了大量的 UI 组件,能够帮助开发者快速构建美观的应用界面。 1. 安装 Angular Material: ```bash ng add @angular/material ``` 2. 选择主题和动画支持: - 主题:Angular Material 提供了几种预定义的主题,你可以选择其中一个,或者自定义自己的主题。 - 动画:如果你希望使用 Angular Material 的动画效果,可以选择启用动画支持。 3. 在组件中使用 Angular Material 组件: 例如,在组件中使用 `MatButtonModule`: ```typescript import { MatButtonModule } from '@angular/material/button'; @NgModule({ declarations: [AppComponent], imports: [MatButtonModule], providers: [], bootstrap: [AppComponent] }) export class AppModule {} ``` 在模板中使用按钮: ```html <button mat-button>Basic Button</button> <button mat-raised-button color="primary">Primary Button</button> ``` ### 总结 Angular 是一个功能强大且灵活的前端框架,适合构建复杂的单页应用程序。通过学习 Angular 的核心概念,如组件、数据绑定、服务、依赖注入和路由,开发者可以快速掌握 Angular 的使用方法。此外,Angular Material 提供了丰富的 UI 组件,能够帮助开发者提升开发效率并构建美观的用户界面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wen's

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值