AngularJS示例有哪些?新手如何快速上手学习?

AngularJS 作为一款经典的前端框架,以其数据绑定、依赖注入和模块化特性为开发者提供了高效的开发方式,以下通过具体示例展示其核心功能与应用场景。

AngularJS示例有哪些?新手如何快速上手学习?

数据绑定与双向交互

AngularJS 的核心优势在于双向数据绑定,通过 ng-model 指令实现视图与模型的双向同步,以下示例展示一个简单的用户信息表单:

<div ng-app="myApp" ng-controller="userController">  
  <h3>用户信息</h3>  
  <p>姓名:<input type="text" ng-model="user.name"></p>  
  <p>年龄:<input type="number" ng-model="user.age"></p>  
  <p>自我介绍:<textarea ng-model="user.bio"></textarea></p>  
  <button ng-click="saveUser()">保存信息</button>  
  <div ng-show="message">{{ message }}</div>  
</div>  

对应的 JavaScript 控制器逻辑:

var app = angular.module('myApp', []);  
app.controller('userController', function($scope) {  
  $scope.user = { name: '', age: '', bio: '' };  
  $scope.message = '';  
  $scope.saveUser = function() {  
    $scope.message = '信息已保存:' + JSON.stringify($scope.user);  
  };  
});  

说明

  • ng-model 将输入框的值与 $scope.user 对象绑定,修改输入框内容时模型数据实时更新。
  • ng-show 根据条件控制消息显示,ng-click 绑定按钮点击事件。

列表渲染与循环操作

ng-repeat 指令可高效渲染动态列表,支持过滤和排序,以下示例展示商品列表管理:

<div ng-app="productApp" ng-controller="productController">  
  <input type="text" ng-model="searchText" placeholder="搜索商品">  
  <table border="1" style="width:100%; margin-top:10px;">  
    <thead>  
      <tr>  
        <th ng-click="sort('id')">ID</th>  
        <th ng-click="sort('name')">名称</th>  
        <th ng-click="sort('price')">价格</th>  
      </tr>  
    </thead>  
    <tbody>  
      <tr ng-repeat="product in filteredProducts = (products | filter:searchText | orderBy:sortKey:reverse)">  
        <td>{{ product.id }}</td>  
        <td>{{ product.name }}</td>  
        <td>{{ product.price | currency }}</td>  
      </tr>  
    </tbody>  
  </table>  
</div>  

控制器代码:

AngularJS示例有哪些?新手如何快速上手学习?

var app = angular.module('productApp', []);  
app.controller('productController', function($scope) {  
  $scope.products = [  
    { id: 1, name: '笔记本', price: 4500 },  
    { id: 2, name: '手机', price: 3200 },  
    { id: 3, name: '平板', price: 2800 }  
  ];  
  $scope.sortKey = 'name';  
  $scope.reverse = false;  
  $scope.sort = function(key) {  
    $scope.sortKey = key;  
    $scope.reverse = !$scope.reverse;  
  };  
});  

功能解析

  • filter:searchText 实现基于输入框的实时搜索。
  • orderBy:sortKey:reverse 支持点击表头排序,reverse 控制升序/降序。
  • currency 过滤器将价格格式化为货币形式。

模块化与依赖注入

AngularJS 通过模块化实现功能解耦,依赖注入(DI)简化组件间协作,以下示例展示服务模块的使用:

// 定义商品服务模块  
var app = angular.module('productService', []);  
app.service('ProductService', function() {  
  this.getProducts = function() {  
    return [  
      { id: 1, name: '键盘', price: 199 },  
      { id: 2, name: '鼠标', price: 129 }  
    ];  
  };  
});  
// 主模块依赖服务模块  
var mainApp = angular.module('mainApp', ['productService']);  
mainApp.controller('productCtrl', function($scope, ProductService) {  
  $scope.products = ProductService.getProducts();  
});  

优势

  • 服务模块 ProductService 封装数据逻辑,可复用且易于测试。
  • 控制器通过依赖注入获取服务,避免硬编码依赖。

路由与多视图管理

结合 ngRoute 模块可实现单页应用(SPA)的路由功能:

<div ng-app="myApp" ng-controller="mainController">  
  <ul>  
    <li><a href="#/home">首页</a></li>  
    <li><a href="#/about">lt;/a></li>  
  </ul>  
  <div ng-view></div>  
</div>  

路由配置:

AngularJS示例有哪些?新手如何快速上手学习?

var app = angular.module('myApp', ['ngRoute']);  
app.config(function($routeProvider) {  
  $routeProvider  
    .when('/home', {  
      template: '<h1>首页内容</h1>'  
    })  
    .when('/about', {  
      template: '<h1>关于我们</h1>'  
    })  
    .otherwise({ redirectTo: '/home' });  
});  

说明

  • ng-view 作为视图容器,根据路由加载对应模板。
  • $routeProvider 定义路由规则,支持默认重定向。

AngularJS 通过数据绑定、模块化、路由等特性,为前端开发提供了结构化的解决方案,尽管现代框架如 Angular、React 已成为主流,但 AngularJS 的设计思想仍对前端工程化产生深远影响,掌握其核心概念有助于理解前端框架的演进逻辑。

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/25121.html

(0)
上一篇 2025年10月24日 02:30
下一篇 2025年10月24日 02:49

相关推荐

  • 如何进行平流式沉淀池的设计与计算?

    平流式沉淀池的设计计算平流式沉淀池是水处理工艺中常见的传统沉淀设施,通过水流沿池长方向平行流动,使悬浮颗粒在重力作用下沉降,从而实现水质净化,其设计需综合考虑水力条件、沉淀效率、结构强度及运行维护等因素,以下是详细的设计计算过程与要点,设计参数的确定平流式沉淀池的设计参数需结合水质、水量及工艺要求确定,核心参数……

    2026年1月6日
    02740
  • 服务器起个网关,具体该起什么名字合适?

    在搭建服务器架构时,网关是连接内部网络与外部服务的关键枢纽,为服务器集群提供统一的访问入口、流量分发和安全防护,合理配置网关不仅能提升系统的稳定性和安全性,还能优化资源利用效率,是现代分布式架构中不可或缺的组件,网关的核心功能与定位网关作为流量的“总调度室”,承担着多重核心职责,它实现了请求的路由与转发,根据预……

    2025年11月17日
    03550
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • 平流式沉淀池的沉淀效率如何进行计算?

    平流式沉淀池是给水处理中常用的沉淀设施,通过重力作用去除水中悬浮颗粒物,是水处理工艺的核心环节,沉淀效率是评估沉淀池性能的关键指标,准确计算沉淀效率有助于优化运行参数、提升处理效果,本文将从平流式沉淀池的基本原理出发,系统阐述沉淀效率的计算方法、影响因素及实际应用中的注意事项,平流式沉淀池概述平流式沉淀池由进水……

    2026年1月7日
    02110
  • 服务器突然宕机无法启动,如何快速恢复数据并重建系统?

    当服务器突然宕机,业务陷入停滞时,快速有效的恢复操作是减少损失的关键,面对“服务器死了”的紧急情况,保持冷静并遵循系统化的恢复流程至关重要,本文将从故障初步判断、硬件故障排查、系统修复、数据恢复以及后续预防措施五个方面,详细阐述服务器恢复的完整步骤,帮助技术人员高效应对突发状况,故障初步判断与应急响应服务器宕机……

    2025年12月18日
    03210

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注