AngularJS 0005:作用域
angularJS中有一个重要的属性Scope,作用域。
web编程中,我们需要获取页面中的某个控件,某个属性,一般我们都用到document或者类似的一个对象来获取整个表单的内容。
在angularJS中,
Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带。
Scope 是一个对象,有可用的方法和属性。
Scope 可应用在视图和控制器上
Scope的使用
对一个值初始化,如下代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><title></title><script src="Scripts/angular.min.js" ></script>
</head>
<body><!--Scope简单使用--><div ng-app="myProgram" ng-controller="myCtrl"><h1>{{heroName}}</h1></div><script>var app = angular.module('myProgram', []);app.controller('myCtrl', function ($scope) {$scope.heroName = "疾风剑豪 亚索";});
</script></body>
</html>
结果
页面显示了初始结果
如上,JS中通过$scope获取到了html对象,然后$scope.heroName取到属性进行赋值。
angularJS的组成主要为M,V,C,
它们是:
View,视图,用于展示和接收数据的,即html页面;
Model,模型,视图中的数据;
Controller,控制器,javascript函数,用户对视图的数据或者属性进行修改,展示和接收不同的交互结果。
scope 我们可以理解为是一个 JavaScript 对象,带有属性和方法,这些属性和方法可以在视图和控制器中使用。
比如
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><title></title><script src="Scripts/angular.min.js" ></script>
</head>
<body><!--Scope简单使用--><div ng-app="myProgram" ng-controller="myCtrl"><input ng-model="heroName"><h1>我最爱使用的英雄是 {{heroName}}</h1></div><script>var app = angular.module('myProgram', []);app.controller('myCtrl', function ($scope) {$scope.heroName = "德邦总管 赵信";});
</script></body>
</html>
结果
输入框的内容修改后,显示的内容也会跟着修改。这就是常用的视图数据更新后,模型和控制器的数据也要更新。
Scope 作用范围
scope 有自己的作用域,在复杂的项目中,DOM有很多作用域,我们来看看scope的作用域。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><title></title><script src="Scripts/angular.min.js" ></script>
</head>
<body><!--作用域-->
<div ng-app="myProgram" ng-controller="myCtrl"><ul><li ng-repeat="x in names">{{x}}</li></ul></div><script>var app = angular.module('myProgram', []);app.controller('myCtrl', function ($scope) {$scope.names = ["英雄联盟", "王者荣耀", "穿越火线"];});
</script></body>
</html>
结果
使用ng-repeat循环数组内的每一个值,每个重复项都访问了当前的重复对象:
每个 <li> 元素可以访问当前的重复对象,这里对应的是一个字符串, 并使用变量 x 表示。
根作用域
所谓根作用域,是指在整个页面中有一个总的scope,叫做$rootScope,它能获取所有html元素,能获得各个scope,使用根作用域来在各controller中进行数据交换。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><title></title><script src="Scripts/angular.min.js" ></script>
</head>
<body><!--根作用域--><div ng-app="myProgram" ng-controller="myCtrl"><h1>{{heroName}} 英雄列表:</h1><ul><li ng-repeat="x in names">{{x}} {{heroName}}</li></ul></div><script>var app = angular.module('myProgram', []);app.controller('myCtrl', function ($scope, $rootScope) {$scope.names = ["时间刺客", "皮城法警", "迅捷斥候"];$rootScope.heroName = "英雄联盟 ";});
</script></body>
</html>
效果
$rootScope 作为参数传递,可在应用中使用。
本文代码: http://download.csdn.net/detail/yysyangyangyangshan/9699263
AngularJS 0005:作用域相关推荐
- 理解AngularJS的作用域Scope
为什么80%的码农都做不了架构师?>>> 理解AngularJS的作用域Scope https://github.com/angu- 08-02 22:45 10-14 09: ...
- 从零学前端第十四讲:AngularJs进阶-作用域和控制器
修真院Web工程师零基础全能课 本节课内容 AngularJs进阶-作用域和控制器 主讲人介绍 沁修,葡萄藤技术总监 项目经验丰富,擅长H5移动项目开发. 专注技术选型.底层开发.最佳代码实践规范总结 ...
- AngularJS Scope(作用域)
Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带 Scope 是一个对象,有可用的方法和属性 创建控制器时,你可以将 $scope 对象当作一个参数传 ...
- angularjs学习第八天笔记(指令作用域研究)
您好,在前两天对指令的简单了解和系统指令学习后 今天主要研究其指针作用域的相关事情 每一个指令在创建时,其实就构成了自己的一个小的模块单元. 其对于的模块单元都有着其对于的作用域,其中作用域一般有两种 ...
- AngularJS 作用域与数据绑定机制
AngularJS 简介 AngularJS 是由 Google 发起的一款开源的前端 MVC 脚本框架,既适合做普通 WEB 应用也可以做 SPA(单页面应用,所有的用户操作都在一个页面中完成).与 ...
- html 根作用域,AngularJS入门教程之Scope(作用域)
AngularJS Scope(作用域) Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带. Scope 是一个对象,有可用的方法和属性. Scope ...
- 一款优秀的JavaScript框架—AngularJS
AngularJS简介 AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.Angular ...
- Angularjs基础(三)
AngularJS ng-model 指令 ng-model 指令用于绑定应用程序数据到HTML 控制器(input,select,textarea)的值 ng-model指令 ng-model指令可 ...
- 一款优秀的前端JS框架—AngularJS
前 言 AngularJS 是一个 JavaScript 框架.它可通过 <script> 标签添加到 HTML 页面. AngularJS 通过 指令 扩展了 HTML,且通过 表 ...
最新文章
- 全球43亿IPv4地址正式耗尽,IPv6才是物联网的菜
- Hadoop通过路径和和链接访问HDFS
- java基础 - file类(递归遍历目录)
- 怎么检测mysql卸载完全_怎么检查mysql有没有删干净
- .NET(C#):浅谈程序集清单资源和RESX资源
- java 状态机_基于 RAFT 一致性算法的 Java 实现 SOFAJRaft
- [洛谷P1438] 无聊的数列
- 排序算法之——堆排序分析
- 5.2 tensorflow2实现多元线性回归、完成广告投放销售额预测——python实战
- download.js实现下载的基本用法
- 深入浅出Dubbo剖析出视频教程了!!!
- Web安全测试工具Appscan
- Book Sharing
- 互联网企业使用云计算,有什么优势?
- Deep Attention Recurrent Q-network(DRAQN)论文笔记
- 【leetcode】483. 最小好进制 Java题解
- oracle计算两个日期的相差的小时数、分钟数、秒数
- 一文讲透:HMM隐马尔科夫模型
- PTGUI全景合成软件使用教程之镜头参数设置
- 超级淘的安全性,科普一下超级淘到底有多安全