初试AngularJS前端框架

news2024/11/16 23:35:53

文章目录

  • 一、框架概述
  • 二、实例演示
    • (一)创建网页
    • (二)编写代码
    • (三)浏览网页
    • (四)运行结果
  • 三、实战小结

在这里插入图片描述

一、框架概述

  • AngularJS 是一个由 Google 维护的开源前端 JavaScript 框架,用于构建单页应用(SPA)。它采用双向数据绑定和依赖注入,简化了 DOM 操作和前端逻辑。AngularJS 支持模块化开发,易于测试和维护。它提供了丰富的指令和过滤器,使得开发动态交互式网页变得简单。此外,AngularJS 还拥有一个庞大的社区和生态系统,为用户提供了丰富的资源和工具。

二、实例演示

(一)创建网页

  1. 创建文件:创建一个名为 angularjs_demo.html 的文件。

(二)编写代码

  1. 导入AngularJS脚本:在HTML文件的 <head> 部分导入AngularJS框架。

  2. 编写页面代码

<!DOCTYPE html>
<html ng-app="loginApp">
<head>
    <meta charset="utf-8">
    <title>演示AngularJS</title>
    <!-- 导入AngularJS框架 -->
    <script src="https://cdn.bootcss.com/angular.js/1.8.2/angular.min.js"></script>  
    <style>
        body {
            text-align: center;
            padding: 20px;
            font-family: Arial, sans-serif;
        }
        .login-container {
            display: flex;
            flex-direction: column;
            align-items: center;
            margin: auto;
            width: 300px;
            padding: 20px;
            border: 1px solid #ccc;
            border-radius: 5px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }
        h3 {
            color: #333;
            margin-bottom: 20px;
        }
        .form-group {
            display: flex;
            align-items: center;
            margin-bottom: 20px;
        }
        label {
            margin-right: 10px;
        }
        input[type="text"],
        input[type="password"] {
            padding: 8px;
            border: 1px solid #ddd;
            border-radius: 4px;
            flex-grow: 1;
        }
        button {
            padding: 10px 20px;
            background-color: #5cb85c;
            border: none;
            border-radius: 4px;
            color: white;
            cursor: pointer;
        }
        button:hover {
            background-color: #4cae4c;
        }
        p {
            color: red;
            margin-top: 10px;
        }
    </style>
</head>
<body>
    <div class="login-container" ng-controller="LoginController">
        <h3>用户登录</h3>
        <form ng-submit="login()">
            <div class="form-group">
                <label>账号:</label>
                <input type="text" ng-model="username">
            </div>
            <div class="form-group">
                <label>密码:</label>
                <input type="password" ng-model="password">
            </div>				
            <button type="submit">登录</button>
        </form>
        <p ng-if="errorMessage">{{errorMessage}}</p>
    </div>
    <script>
        // 创建AngularJS应用
        var app = angular.module('loginApp', []);
        // 创建AngularJS控制器
        app.controller('LoginController', function($scope) {
            $scope.login = function(event) {				
                event.preventDefault(); // 阻止表单的默认提交行为
                // 判断是否登录成功
                if ($scope.username == 'admin' && $scope.password == '123456') {
                    alert('恭喜,用户登录成功~');
                } else {
                    $scope.errorMessage = "用户名或密码错误,登录失败~";
                }
            };
        });
    </script>
</body>
</html>

(三)浏览网页

  1. 输入正确用户名和密码:在账号输入框中输入 admin,在密码输入框中输入 123456,然后单击【登录】按钮。

  2. 输入错误用户名或密码:在账号输入框中输入错误的用户名或密码,然后单击【登录】按钮。

(四)运行结果

  • 正确输入:弹出提示框显示“恭喜,用户登录成功~”。

  • 错误输入:显示错误消息“用户名或密码错误,登录失败~”。

三、实战小结

通过这个简单的示例,我们可以看到AngularJS如何简化前端开发,实现动态交互。AngularJS的双向数据绑定和依赖注入机制使得数据管理和页面更新变得非常简便。此外,AngularJS的模块化和控制器机制也使得代码更加易于维护和测试。

希望这个实战讲稿能帮助大家更好地理解和使用AngularJS。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2159836.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

输电线塔目标检测数据集yolo格式该数据集包括2644张输电线塔高清图像,该数据集已经过yolo格式标注,具有完整的txt标注文件和yaml配置文件。

输电线塔目标检测数据集yolo格式 该数据集包括2644张输电线塔高清图像&#xff0c;该数据集已经过yolo格式标注&#xff0c;具有完整的txt标注文件和yaml配置文件。 输电线塔目标检测数据集 数据集名称 输电线塔目标检测数据集&#xff08;Transmission Tower Object Detecti…

从视觉到现实:掌握计算机视觉技术学习路线的十大步骤

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///C爱好者&#x1f60a;///计算机爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于【计算机视…

【第十五章:Sentosa_DSML社区版-机器学习之关联规则】

目录 15.1 频繁模式增长 15.2 PrefixSpan 【第十五章&#xff1a;Sentosa_DSML社区版-机器学习之关联规则】 机器学习关联规则是一种用于发现数据集中项之间有趣关系的方法。它基于统计和概率理论&#xff0c;通过分析大量数据来识别项之间的频繁共现模式。 15.1 频繁模式增…

Linux-DHCP服务器搭建

环境 服务端&#xff1a;192.168.85.136 客户端&#xff1a;192.168.85.138 1. DHCP工作原理 DHCP动态分配IP地址。 2. DHCP服务器安装 2.1前提准备 # systemctl disable --now firewalld // 关闭firewalld自启动 # setenforce 0 # vim /etc/selinux/config SELINU…

学生管理系统模块化编程

项目介绍&#xff1a;Java基础mysql的一个简单练习 一.数据库 二.项目结构 lib下的jar包下载地址&#xff1a;Maven Repository: mysql mysql-connector-java (mvnrepository.com) 1.db.properties drivercom.mysql.jdbc.Driver urljdbc:mysql://localhost:3306/student?u…

【Unity3d Shader】毛玻璃效果

毛玻璃也叫​磨砂玻璃​:是用物理或化学方法处理过的一种表面粗糙不平整的半透明玻璃。 毛玻璃成像原理:毛玻璃表面不平整,光线通过毛玻璃被反射后向四面八方射出去(因为毛玻璃表面不是光滑的平面,使光产生了漫反射),折射到视网膜上已经是不完整的像,于是就看不清楚(…

基于OpenCV的单目测距

随着计算机视觉技术的发展&#xff0c;单目测距作为一种重要的视觉测量手段&#xff0c;在众多领域得到了广泛的应用。本文将探讨基于OpenCV的单目测距原理、局限性、实际应用场景以及一些优化方案。 单目测距的原理 单目测距是指利用一台摄像机拍摄到的单一图像来进行距离测量…

2016年国赛高教杯数学建模D题风电场运行状况分析及优化解题全过程文档及程序

2016年国赛高教杯数学建模 D题风电场运行状况分析及优化 风能是一种最具活力的可再生能源&#xff0c;风力发电是风能最主要的应用形式。我国某风电场已先后进行了一、二期建设&#xff0c;现有风机124台&#xff0c;总装机容量约20万千瓦。请建立数学模型&#xff0c;解决以下…

【Python报错已解决】ValueError: cannot convert float NaN to integer

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

网页设计html心得

一&#xff0c;认识网页 说到网页&#xff0c;其实大家并不陌生 1.1网页究竟是什么&#xff1f; 网页主要由文字、图像和超链接等元素构成。当然&#xff0c;除了这些元素&#xff0c;网页中还可以包含音频、视频以及Flash等。 1.2网页是如何形成的呢&#xff1f; 1.特殊的…

C++读取txt文件中的句子在终端显示,同时操控鼠标滚轮(涉及:多线程,产生随机数,文件操作等)

文章目录 运行效果功能描述代码mian.cppincludeMouseKeyControl.hTipsManagement.h srcMouseControl.cppTipsManagement.cpp 运行效果 功能描述 线程一&#xff1a;每隔n随机秒&#xff0c;动一下鼠标滚轮&#xff0c;防止屏幕息屏。 线程二&#xff1a;运行时加载txt文件中的…

前端html+css+js 基础总结

​​​HTML 行级元素 标签分为行级元素与块级元素 行级元素占据区域由其显示内容决定&#xff0c;如span&#xff0c;img(图片)&#xff0c;<a></a>基本格式: <a href"链接" target"_blank"></a>用于跳转到其他网站&#xff0c…

蓝桥杯1.小蓝的漆房

样例输入 2 5 2 1 1 2 2 1 6 2 1 2 2 3 3 3样例输出 1 2 import math import os import sys tint(input())#执行的次数 for j in range(t):n,kmap(int,input().split())#n为房间数 k为一次能涂的个数alist(map(int,input().split()))#以列表的形式存放房间的颜色maxvaluemath…

环形缓冲区例子

即使使用中断函数或者定时器函数记录按键&#xff0c;如果只能记录一个键值的话&#xff0c;如果不能 及时读走出来&#xff0c;再次发生中断时新值就会覆盖旧值。要解决数据被覆盖的问题&#xff0c;可以使用 一个稍微大点的缓冲区&#xff0c;这就涉及数据的写入、读出&#…

闯关leetcode——69. Sqrt(x)

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/sqrtx/description/ 内容 Given a non-negative integer x, return the square root of x rounded down to the nearest integer. The returned integer should be non-negative as well. You mu…

MySQL --基本查询(上)

文章目录 1.Create1.1单行数据全列插入1.2多行数据指定列插入1.3插入否则更新1.4替换 2.Retrieve2.1 select列2.1.1全列查询2.1.2指定列查询2.1.3查询字段为表达式2.1.4 为查询结果指定别名2.1.5结果去重 2.2where 条件2.2.1英语不及格的同学及英语成绩 ( < 60 )2.2.2语文成…

深度解读 2024 Gartner DevOps 魔力象限

上周 Gartner 刚发布了 2024 年度的 DevOps 魔力象限。我们也第一时间来深度解读一下这份行业里最权威的报告。 和2023年对比 23 年入围 14 家厂商&#xff0c;24 年入围 11 家。4 家厂商从报告中消失&#xff0c;分别是 Bitrise, Codefresh, Google Cloud Platform (GCP), VM…

调度_命令行_环境变量

linux的进程调度算法 饥饿问题 新建进程/时间片结束进程&#xff0c;若放回active&#xff0c;很可能该进程优先级太高&#xff0c;下一个还是执行该进程&#xff0c;导致不断执行同一进程&#xff0c;各进程调度不均衡。 饥饿问题解决 新建进程不能到active&#xff0c;要到…

力扣 24.两两交换链表中的节点

力扣《反转链表》系列文章目录 刷题次序&#xff0c;由易到难&#xff0c;一次刷通&#xff01;&#xff01;&#xff01; 题目题解206. 反转链表反转链表的全部 题解192. 反转链表 II反转链表的指定段 题解224. 两两交换链表中的节点两个一组反转链表25. K 个一组翻转链表K …