AngularJS 0005:作用域

news/2024/11/1 8:49:08/
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

http://www.ppmy.cn/news/658996.html

相关文章

Vulnhub靶机 VULNOS: 2 writeup

下载地址&#xff1a;https://www.vulnhub.com/entry/vulnos-2,147/ 信息搜集 获取IP地址 扫描端口 80端口 点击website跳转到/jabc 在 jabc/?qnode/7 页面看起来啥也没有&#xff0c;但是CtrlA全选之后看到提示还有一个目录 /jabcd0cs/ 访问/jabcd0cs/ 在/jabcd0cs/发现…

MySQL:replace函数的几种实用场景,一个回答引发热烈讨论

| 7 | 疾风剑豪 | 亚索 | 6300 | —---------------------------------- 7 rows in set (0.00 sec) []()使用场景1 – (Query语句)&#xff1a;---------------------------------------------------------------------------------需求&#xff1a;把"hero\_title"…

MySQL:replace函数的几种实用场景

MySQL的Replace函数都有哪些用法&#xff0c;你是否都知晓呢&#xff1f;今天&#xff0c;让我带大家花几分钟时间来一起看一看&#xff0c;记得Mark&#xff01; 目录 REPLACE语法操作实例使用场景1 -- (Query语句)&#xff1a;使用场景2 -- (update语句)&#xff1a;使用场景…

MySQL最左匹配原则,道儿上兄弟都得知道的原则

自MySQL5.5版本起&#xff0c;主流的索引结构转为B树。B树的节点存储索引顺序是从左向右存储&#xff0c;在检索匹配的时候也要满足自左向右匹配。 目录 一、最左匹配原则的原理二、违背最左原则导致索引失效的情况三、查询优化器偷偷干了哪些事儿四、需要你mark的知识点1、如何…

【图文详解:索引极简教程】SQL 查询性能优化原理

简介 在一本厚厚的书籍的前几页&#xff0c;通常会有几页目录。作用是让读者可以快速找到感兴趣的章节进行阅读。 目录之所以可以快速阅读&#xff0c;是因为它提前进行了结构化有序处理。 同样的道理&#xff0c;数据库的数据表的文件下面(以 ClickHouse 为例)&#xff0c;通常…

触摸精灵 关于三剑豪手游的练级(练到10级) 制作 请大家帮忙一下!!谢谢大家了

SCREEN_RESOLUTION"768x1024"; SCREEN_COLOR_BITS32;-- 主入口 function main()rotateScreen(0);mSleep(1583);touchDown(11, 237, 808)mSleep(121);touchUp(11)mSleep(1000);touchDown(1, 673, 953)mSleep(151);touchUp(1)mSleep(1000);touchDown(11, 238, 816)mSle…

MySQL的order by该如何避免“未命中索引“

不少同学私信我说&#xff0c;用Explain查看Order By语句执行计划时经常发现用不上索引&#xff0c;难道花好多时间和资源创建的联合索引都摆烂了&#xff1f;今天我把几个同学遇到的情况整理出来&#xff0c;做一个Order By使用索引的坑点分享。希望对你有用。 要学会如何使用…

Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day7】 —— 数据库2(事务)

大家好&#xff0c;我是陈哈哈&#xff0c;北漂五年。认识我的朋友们知道&#xff0c;我是非科班出身&#xff0c;半路出家&#xff0c;大学也很差&#xff01;这种背景来北漂&#xff0c;你都不知道你会经历什么&#x1f643;&#x1f643;。   不敢苟同&#xff0c;相信大家…