AngularJS 实例学习笔记

前言

本文档记录了我在学习 AngularJS 过程中实践的一些例子和心得体会。

简介

AngularJS 是一款由 Google 推出的前端框架,通过它可以轻松构建复杂的单页面应用。AngularJS 的核心概念是数据驱动模型,即视图层通过绑定模型来自动更新,使得开发者可以更专注于业务逻辑。下面将介绍一些常见的 AngularJS 实例。

实例

双向数据绑定

双向数据绑定是 AngularJS 最重要的特性之一,它可以将模型和视图进行双向同步。以下是一个简单的双向数据绑定的例子:

htmlCopy Code
<!DOCTYPE html> <html ng-app> <head> <script src="https://cdn.bootcdn.net/ajax/libs/angular.js/1.8.2/angular.min.js"></script> </head> <body> <input type="text" ng-model="name"> <p>Hello, {{name}}!</p> </body> </html>

上述代码中,我们使用 ng-model 指令将输入框与 name 变量进行绑定,使用双括号语法输出 name 变量的值。

控制器和作用域

控制器是 AngularJS 中的一个重要概念,它可以将视图和模型进行解耦。以下是一个简单的控制器和作用域的例子:

htmlCopy Code
<!DOCTYPE html> <html ng-app="myApp"> <head> <script src="https://cdn.bootcdn.net/ajax/libs/angular.js/1.8.2/angular.min.js"></script> <script> var app = angular.module("myApp", []); app.controller("myCtrl", function($scope) { $scope.firstName = "John"; $scope.lastName = "Doe"; }); </script> </head> <body ng-controller="myCtrl"> <p>First Name: {{firstName}}</p> <p>Last Name: {{lastName}}</p> </body> </html>

上述代码中,我们使用 ng-controller 指令将 myCtrl 控制器与整个页面进行绑定,然后在控制器中定义了 firstNamelastName 两个变量,并将它们传递给了 $scope 对象。在视图中,我们可以通过双括号语法输出这两个变量的值。

过滤器

过滤器是 AngularJS 中的一个常见概念,它可以对数据进行格式化和处理。以下是一个简单的过滤器的例子:

htmlCopy Code
<!DOCTYPE html> <html ng-app="myApp"> <head> <script src="https://cdn.bootcdn.net/ajax/libs/angular.js/1.8.2/angular.min.js"></script> <script> var app = angular.module("myApp", []); app.controller("myCtrl", function($scope) { $scope.names = [ {name: "Jani", country: "Norway"}, {name: "Hege", country: "Sweden"}, {name: "Kai", country: "Denmark"} ]; }); </script> </head> <body ng-controller="myCtrl"> <ul> <li ng-repeat="x in names | orderBy:'country'">{{x.name}}</li> </ul> </body> </html>

上述代码中,我们使用 ng-repeat 指令将 names 变量遍历输出,并使用 orderBy 过滤器将它们按照 country 属性排序。

结语

AngularJS 是一个非常强大的前端框架,通过上述实例,相信读者已经初步掌握了其核心概念和用法,希望本文对你有所帮助。