本文实例讲述了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指令与自动加载实现方法分析
# 绑定
# 应用程序
# 让你
# 你可以
# 自己的
# 是一个
# 进阶
# 有什么
# 相关内容
# 那是
# 就能
# 让我们
# 多个
# 在这
# 一是
# 是用来
# 在那里
# 你在
# 把它
# 感兴趣
相关文章:
如何在云主机上快速搭建网站?
如何在云服务器上快速搭建个人网站?
建站之星备案流程有哪些注意事项?
如何快速查询域名建站关键信息?
家庭建站与云服务器建站,如何选择更优?
成都网站制作报价公司,成都工业用气开户费用?
Python lxml的etree和ElementTree有什么区别
建站主机是否属于云主机类型?
制作网站外包平台,自动化接单网站有哪些?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
建站之星代理如何获取技术支持?
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
建站之星安装后如何自定义网站颜色与字体?
昆明高端网站制作公司,昆明公租房申请网上登录入口?
电商网站制作公司有哪些,1688网是什么意思?
如何挑选高效建站主机与优质域名?
如何通过wdcp面板快速创建网站?
天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
如何使用Golang安装API文档生成工具_快速生成接口文档
相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
如何通过VPS搭建网站快速盈利?
如何破解联通资金短缺导致的基站建设难题?
,怎么在广州志愿者网站注册?
网站图片在线制作软件,怎么在图片上做链接?
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
广州美橙建站如何快速搭建多端合一网站?
如何用IIS7快速搭建并优化网站站点?
如何在云主机快速搭建网站站点?
制作旅游网站html,怎样注册旅游网站?
海南网站制作公司有哪些,海口网是哪家的?
如何将凡科建站内容保存为本地文件?
如何选择建站程序?包含哪些必备功能与类型?
高性价比服务器租赁——企业级配置与24小时运维服务
高端智能建站公司优选:品牌定制与SEO优化一站式服务
如何选择适配移动端的WAP自助建站平台?
魔方云NAT建站如何实现端口转发?
如何在新浪SAE免费搭建个人博客?
电商平台网站制作流程,电商网站如何制作?
设计网站制作公司有哪些,制作网页教程?
如何用低价快速搭建高质量网站?
智能起名网站制作软件有哪些,制作logo的软件?
,制作一个手机app网站要多少钱?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
已有域名能否直接搭建网站?
如何在万网开始建站?分步指南解析
如何在阿里云ECS服务器部署织梦CMS网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。