AngularJS入门教程之Helloworld示例

发布时间 - 2026-01-10 22:05:32    点击率:

本文实例讲述了AngularJS入门教程之Helloworld示例。分享给大家供大家参考,具体如下:

什么是AngularJs?

angularjs是一个为动态WEB应用设计的结构框架。它能让你使用HTML作为模板语言,通过扩展HTML的语法,让你能更清楚、简洁地构建你的应用组件。它的创新点在于,利用数据绑定和依赖注入,它使你不用再写大量的代码了。这些全都通过浏览器端的javascript实现,这也使得它能够完美地和任何服务器技术结合。

AngularJS简单的Helloworld例子:

<!DOCTYPE HTML>
<!-- 告诉AngularJs引擎从这里开始是ng-app管理 -->
<html lang="en-US" ng-app>
<head>
  <meta charset="UTF-8">
  <title>AngularJS例子</title>
</head>
<body>
  <!-- ng-model数据模型 -->
  <input type="text" ng-model='name' placeholder="yourname" />
  <!-- {{}}angular表达式 -->
  <h1>Hello {{name}}</h1>
  <script type="text/javascript" src='http://cdn.staticfile.org/angular.js/1.3.0-beta.13/angular.min.js'></script>
</body>
</html>

这个例子其实展示了angularjs的数据双向绑定,

左边为数据单向绑定图解,通常是要你管jquery,backbone这类框架,右边为angularjs数据双向绑定。

模型 视图 控制器(MVC)

MVC背后的核心概念就是,你在你的代码之间明确分离管理数据(模型),应用程序逻辑(控制器),并将数据给用户(视图)。

视图从模型中获取数据展示给用户。当用户通过点击或者输入和应用程序进行交互时,控制器通过改变模型中的数据响应。最终,模型层通知视图层,已经发生改变,一边更新显示。

在Angluar应用中,视图层就是DOM,控制器就是Javascript类,模型数据存储在对象属性中。

angularjs数据绑定

像jquery库这种扩展到客户端的模式,让我们遵循相似的风格,但由于更新的能力,单独地DOM的部分,而不是更新整个页面。这里,我们合并HTML字符串和数据,然后通过元素上设置innerHTML将结构插入到我们想要的Dom中。

这一切都运行的相当好,但是你想将新数据插入到界面,或者改变基于用户输入的数据时,你需要做很多又不是价值不高的工作,来确保同时在界面和javascript属性中获取的数据正常的状态。

但是,倘若我们有什么东西把这些工作都为我们做好了,同时不需要写代码?倘若我能仅仅声明界面的某一部分映射到javascript的属性,让他们自动的同步?这种编程方式叫做数据绑定。我们在angular中包括这种功能,因为当编写视图和模型时,使用mvc来消除代码那是非常棒的。移动数据从一个地方的绝大部分自动发生。

注:最上面的例子就能体现

依赖注入(DI)

$scope对象把数据绑定自动的传递给了我们。我们没有必要通过调用任何函数来创建它。我们只是要求把它放到HelloController构造函数中。

在后续学习中,我们发现,scope并不是我们唯一需要的。如果我们需要数据绑定它到用户浏览器指定的URL地址中,我们需要在构造函数中,添加一个scope并不是我们唯一需要的。如果我们需要数据绑定它到用户浏览器指定的URL地址中,我们需要在构造函数中,添加一个location对象,就这样:

function HelloController($scope,$location){
  $scope.greeting={text:'Hello'}
  //使用$location 在这
}

通过Angular的依赖注入系统,我们可以得到这种效果。依赖注入允许我们遵循一种开发风格,这种开发风格中,不是创建依赖,我们的类仅仅添加他们需要的。

这个遵循了一个叫迪米特法则的设计模式,也被称作最少知识法则。由于HelloController的任务是建立greeting模型的初始值,这种模式就是说,它不需要担心像$scope如何创建以及在那里找到它。

angularJs指令

angular最优秀部分之一是你可以把你写的模板当成HTML。因为在框架的核心层,我们已经包括了一个强大的DOM转换引擎,可以让你扩展HTML语法,因此你才可以这样做。

我们已经在模板文件中看到了多个新的属性,这些并不是HTML规范的一部分。示例中包括两个大括号是用来数据绑定的,ng-controller是用来指定那个控制器来服务那个师徒,ng-model将一个输入框绑定到模型部分。我们称这些叫HTML扩展指令。

angular带有很多标识符,帮助你为你的应用程序定义视图。这些标识符可以定义我们常见的视图作为模板。它们可以说明应用程序如何工作的或者创建可重复使用的组件。

同时不局限于Angular自带的标识符。你可以写你自己的来扩展HTML模板,做任何你想做的事。

更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS入门与进阶教程》及《AngularJS MVC架构总结》

希望本文所述对大家AngularJS程序设计有所帮助。


# AngularJS  # 教程  # Helloworld  # AngularJS 在同一个界面启动多个ng-app应用模块详解  # AngularJS ng-app 指令实例详解  # 基于AngularJS实现页面滚动到底自动加载数据的功能  # AngularJS控制器controller给模型数据赋初始值的方法  # AngularJS入门示例之Hello World详解  # AngularJS打开页面隐藏显示表达式用法示例  # AngularJS入门教程之多视图切换用法示例  # AngularJS入门教程之MVC架构实例分析  # AngularJs入门教程之环境搭建+创建应用示例  # AngularJS框架的ng-app指令与自动加载实现方法分析  # 绑定  # 应用程序  # 让你  # 你可以  # 自己的  # 是一个  # 进阶  # 有什么  # 相关内容  # 那是  # 就能  # 让我们  # 多个  # 在这  # 一是  # 是用来  # 在那里  # 你在  # 把它  # 感兴趣 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在局域网内绑定自建网站域名?  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  高防服务器:AI智能防御DDoS攻击与数据安全保障  javascript基于原型链的继承及call和apply函数用法分析  微信小程序制作网站有哪些,微信小程序需要做网站吗?  做企业网站制作流程,企业网站制作基本流程有哪些?  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  高端网站建设与定制开发一站式解决方案 中企动力  Laravel怎么实现验证码(Captcha)功能  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  Laravel怎么连接多个数据库_Laravel多数据库连接配置  详解CentOS6.5 安装 MySQL5.1.71的方法  如何为不同团队 ID 动态生成多个“认领值班”按钮  详解jQuery中的事件  晋江文学城电脑版官网 晋江文学城网页版直接进入  Laravel如何处理和验证JSON类型的数据库字段  node.js报错:Cannot find module &#39;ejs&#39;的解决办法  Android okhttputils现在进度显示实例代码  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  Thinkphp 中 distinct 的用法解析  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  北京网站制作公司哪家好一点,北京租房网站有哪些?  如何解决hover在ie6中的兼容性问题  如何在IIS服务器上快速部署高效网站?  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  lovemo网页版地址 lovemo官网手机登录  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  Laravel如何实现一对一模型关联?(Eloquent示例)  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  网站建设要注意的标准 促进网站用户好感度!  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  简历没回改:利用AI润色让你的文字更专业  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  jQuery中的100个技巧汇总  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Laravel如何创建自定义Facades?(详细步骤)