详解AngularJS中的作用域


Posted in Javascript onJune 17, 2015

 范围扮演其视图连接控制器的角色一个特殊的JavaScript对象。范围包含了模型数据。在控制器,模型数据通过$scope对象访问。

<script>
   var mainApp = angular.module("mainApp", []);

   mainApp.controller("shapeController", function($scope) {
     $scope.message = "In shape controller";
     $scope.type = "Shape";
   });
</script>

以下是在上面的例子中需要考虑的重要问题。

  •     $scope被作为第一个参数在其构造器确定指标到控制器。
  •     $scope.message 和 $scope.type 是它们在HTML页面中所用的模型。
  •     我们已经设置模型的值将反映应用程序模块的控制器shapeController中。
  •     我们可以在$scope定义函数功能。

继承范围

范围是特定的控制器。如果我们定义嵌套的控制器,然后控制器子将继承其父控制的范围。

<script>
   var mainApp = angular.module("mainApp", []);

   mainApp.controller("shapeController", function($scope) {
     $scope.message = "In shape controller";
     $scope.type = "Shape";
   });
  
   mainApp.controller("circleController", function($scope) {
     $scope.message = "In circle controller";  
   });
</script>

以下是在上面的例子中需要考虑的重要问题。

  •     我们在shapeController设定模型的值。
  •     我们覆盖的子控制器circleController消息。当“消息”内的控制器circleController的模块使用时,将用于重写的消息。

例子

下面的例子将展示上述所有指令。
testAngularJS.html

<html>
<head>
  <title>Angular JS Forms</title>
</head>
<body>
  <h2>AngularJS Sample Application</h2>
  <div ng-app="mainApp" ng-controller="shapeController">
   <p>{{message}} <br/> {{type}} </p>
   <div ng-controller="circleController">
     <p>{{message}} <br/> {{type}} </p>
   </div>
   <div ng-controller="squareController">
     <p>{{message}} <br/> {{type}} </p>
   </div>
  </div>
  <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
  <script>
   var mainApp = angular.module("mainApp", []);

   mainApp.controller("shapeController", function($scope) {
     $scope.message = "In shape controller";
     $scope.type = "Shape";
   });

   mainApp.controller("circleController", function($scope) {
     $scope.message = "In circle controller";  
   });

   mainApp.controller("squareController", function($scope) {
     $scope.message = "In square controller";
     $scope.type = "Square";
   });

  </script>
</body>
</html>

结果

在Web浏览器打开textAngularJS.html。看到结果如下。

详解AngularJS中的作用域

Javascript 相关文章推荐
javascript基本语法分析说明
Jun 15 Javascript
跟着Jquery API学Jquery之一 选择器
Apr 07 Javascript
javascript之querySelector和querySelectorAll使用说明
Oct 09 Javascript
jQuery验证插件validation使用指南
Apr 21 Javascript
Javascript删除指定元素节点的方法
Jun 21 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
Jan 05 Javascript
Vue实现6位数密码效果
Aug 18 Javascript
Javascript实现时间倒计时功能
Nov 17 Javascript
js常见遍历操作小结
Jun 06 Javascript
JavaScript获取时区实现过程解析
Sep 24 Javascript
vue 单页应用和多页应用的优劣
Oct 22 Javascript
浅谈node.js中间件有哪些类型
Apr 29 Javascript
简介AngularJS中使用factory和service的方法
Jun 17 #Javascript
简介AngularJS的视图功能应用
Jun 17 #Javascript
在AngularJS中使用AJAX的方法
Jun 17 #Javascript
使用AngularJS来实现HTML页面嵌套的方法
Jun 17 #Javascript
AngularJS的表单使用详解
Jun 17 #Javascript
举例讲解AngularJS中的模块
Jun 17 #Javascript
简介AngularJS的HTML DOM支持情况
Jun 17 #Javascript
You might like
DOTA2 无惧惊涛骇浪 昆卡大型水友攻略
2020/04/20 DOTA
基于PHP+Ajax实现表单验证的详解
2013/06/25 PHP
PHP连接MySQL的2种方法小结以及防止乱码
2014/03/11 PHP
php读取目录及子目录下所有文件名的方法
2014/10/20 PHP
PHP使用逆波兰式计算工资的方法
2015/07/29 PHP
PHP 极验验证码实例讲解
2016/09/29 PHP
PHP实现获取第一个中文首字母并进行排序的方法
2017/05/09 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
2018/09/03 PHP
php DES加密算法实例分析
2019/09/18 PHP
关于B/S判断浏览器断开的问题讨论
2008/10/29 Javascript
js动态调用css属性的小规律及实例说明
2013/12/28 Javascript
Javascript中的默认参数详解
2014/10/22 Javascript
AngularJS+Node.js实现在线聊天室
2015/08/28 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
jQuery实现form表单元素序列化为json对象的方法
2015/12/09 Javascript
详解React-Todos入门例子
2016/11/08 Javascript
JS中append字符串包含onclick无效传递参数失败的解决方案
2016/12/26 Javascript
JavaScrip关于创建常量的知识点
2017/12/07 Javascript
vue-cli配置全局sass、less变量的方法
2019/06/06 Javascript
JS中的算法与数据结构之常见排序(Sort)算法详解
2019/08/16 Javascript
JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析
2020/03/02 Javascript
微信小程序实现多行文字滚动
2020/11/18 Javascript
利用python爬取散文网的文章实例教程
2017/06/18 Python
Python实现的字典值比较功能示例
2018/01/08 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
Python数据类型之Tuple元组实例详解
2019/05/08 Python
python 根据字典的键值进行排序的方法
2019/07/24 Python
Djang的model创建的字段和参数详解
2019/07/27 Python
python可视化实现KNN算法
2019/10/16 Python
Python hashlib加密模块常用方法解析
2019/12/18 Python
Python关于反射的实例代码分享
2020/02/20 Python
简单的辞职信范文
2014/01/18 职场文书
入学生会自荐书范文
2014/02/05 职场文书
市场开发与营销专业求职信范文
2014/05/01 职场文书
单位承诺书格式
2014/05/21 职场文书
PostgreSQL怎么创建分区表详解
2022/06/25 PostgreSQL