AngularJS 应用概述

AngularJS 是一个用于构建单页面应用程序(SPA)的 JavaScript 框架,它由 Google 开发。它通过双向数据绑定、依赖注入、指令等特性来简化前端开发。AngularJS 可以帮助你构建动态的、响应式的 Web 应用,并管理复杂的用户界面和数据交互。

下面是创建一个简单 AngularJS 应用的步骤,从基础搭建到展示功能。


1. 创建基本的 AngularJS 应用

1.1 引入 AngularJS

首先,你需要在 HTML 文件中引入 AngularJS 库。可以从 CDN 或下载后引入。

<!DOCTYPE html>
<html ng-app="myApp">
<head>
    <title>AngularJS 应用</title>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
</head>
<body>
    <div>
        <h1>{{ message }}</h1>
    </div>

    <script>
        var app = angular.module('myApp', []);
        app.controller('MainController', function($scope) {
            $scope.message = "欢迎使用 AngularJS!";
        });
    </script>
</body>
</html>

1.2 解释

  • ng-app:这个指令告诉 AngularJS 启动应用程序,myApp 是应用的名称。
  • {{ message }}:这是 AngularJS 表达式,用于在页面中插入动态数据。
  • ng-controller="MainController":在 HTML 元素上绑定 AngularJS 控制器。

2. 添加控制器与视图

AngularJS 的控制器用于将数据和行为绑定到视图。你可以创建多个控制器来管理应用中的不同部分。

2.1 定义控制器

app.controller('MainController', function($scope) {
    $scope.message = "欢迎使用 AngularJS!";
});

这里定义了一个 MainController,它控制应用的视图并将 message 绑定到页面。

2.2 更新视图

在 HTML 文件中,使用 {{ message }} 来绑定控制器中的数据。

<div ng-controller="MainController">
    <h1>{{ message }}</h1>
</div>

这样,页面上会显示 MainController 中的 message 数据。


3. 双向数据绑定

AngularJS 的核心特性之一是 双向数据绑定。它使得视图与模型(数据)保持同步。当数据变化时,视图会自动更新,反之亦然。

3.1 使用 ng-model 实现双向绑定

<div ng-controller="MainController">
    <input type="text" ng-model="name">
    <h1>Hello, {{ name }}!</h1>
</div>

  • ng-model="name":绑定了一个输入框和 name 变量。
  • 当用户在输入框中输入内容时,AngularJS 会自动更新 name 的值,视图中的内容也会实时更新。

4. 使用 AngularJS 路由 (ngRoute)

AngularJS 提供了 ngRoute 模块,允许你为应用添加不同的视图和路由。

4.1 配置路由

首先,引入 ngRoute 模块:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular-route.min.js"></script>

然后,在应用中配置路由:

var app = angular.module('myApp', ['ngRoute']);

app.config(function($routeProvider) {
    $routeProvider
        .when('/home', {
            templateUrl: 'home.html',
            controller: 'HomeController'
        })
        .when('/about', {
            templateUrl: 'about.html',
            controller: 'AboutController'
        })
        .otherwise({
            redirectTo: '/home'
        });
});

4.2 使用 ng-view 指令

在 HTML 文件中使用 ng-view 指令来显示路由匹配的视图。

<div ng-app="myApp">
    <div ng-view></div>
</div>

4.3 创建视图和控制器

home.html:

<h2>Home Page</h2>
<p>Welcome to the home page.</p>

about.html:

<h2>About Page</h2>
<p>This is the about page.</p>

控制器:

app.controller('HomeController', function($scope) {
    $scope.message = "Welcome to the Home Page!";
});

app.controller('AboutController', function($scope) {
    $scope.message = "Learn more about us on this page.";
});


5. 使用 AngularJS 服务 (Service)

服务可以在应用中共享数据和逻辑。你可以定义一个服务,然后在控制器中注入这个服务。

5.1 定义服务

app.service('messageService', function() {
    this.getMessage = function() {
        return "Hello from the service!";
    };
});

5.2 注入服务到控制器

app.controller('MainController', function($scope, messageService) {
    $scope.message = messageService.getMessage();
});

5.3 在视图中显示

<div ng-controller="MainController">
    <h1>{{ message }}</h1>
</div>


6. 结语

通过以上步骤,你已经了解了如何构建一个基本的 AngularJS 应用。AngularJS 提供了许多功能来帮助开发者创建现代的单页面应用,包括:

  • 控制器:用于处理视图和数据的交互。
  • 双向数据绑定:自动同步模型和视图的数据。
  • 路由:让应用拥有多个视图和动态导航功能。
  • 服务:共享应用逻辑和数据。

AngularJS 使得开发 Web 应用变得更加简便,模块化和高效。你可以在此基础上继续构建更复杂的功能,提升应用的交互性和用户体验。