详解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 相关文章推荐
ExtJS GTGrid 简单用户管理
Jul 01 Javascript
JavaScript arguments 多参传值函数
Oct 24 Javascript
利用javascript实现web页面中指定区域打印
Oct 30 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
May 18 Javascript
jquery实现简单实用的轮播器
May 23 jQuery
vue父组件向子组件(props)传递数据的方法
Jan 02 Javascript
小程序云开发之用户注册登录
May 18 Javascript
微信小程序结合Storage实现搜索历史效果
May 18 Javascript
ElementUI radio组件选中小改造
Aug 12 Javascript
JS实现手写 forEach算法示例
Apr 29 Javascript
Vue3 的响应式和以前有什么区别,Proxy 无敌?
May 20 Javascript
vue动画—通过钩子函数实现半场动画操作
Aug 09 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
据说是雅虎的一份PHP面试题附答案
2009/01/07 PHP
PHP 危险函数解释 分析
2009/04/22 PHP
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
php读取纯真ip数据库使用示例
2014/01/26 PHP
PHP中的替代语法简介
2014/08/22 PHP
thinkPHP5框架自定义验证器实现方法分析
2018/06/11 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
JavaScript 产生不重复的随机数三种实现思路
2012/12/13 Javascript
Javascript算符的优先级介绍
2013/03/20 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
2014/01/15 Javascript
JavaScript淡入淡出渐变简单实例
2015/08/06 Javascript
jquery判断对象是否为空并遍历对象的简单实例
2016/07/26 Javascript
vue.js全局API之nextTick全面解析
2017/07/07 Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
2019/01/29 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
Python对象的深拷贝和浅拷贝详解
2014/08/25 Python
Python中获取对象信息的方法
2015/04/27 Python
Python2.7.10以上pip更新及其他包的安装教程
2018/06/12 Python
Windows下python3.7安装教程
2018/07/31 Python
libreoffice python 操作word及excel文档的方法
2019/07/04 Python
简单了解Django应用app及分布式路由
2019/07/24 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
浅谈django url请求与数据库连接池的共享问题
2019/08/29 Python
Python列表解析操作实例总结
2020/02/26 Python
Python如何实现感知器的逻辑电路
2020/12/25 Python
优衣库英国官网:UNIQLO英国
2016/12/25 全球购物
世界第一曲奇连锁店:Mrs. Fields Cookies
2017/02/04 全球购物
简历的个人自我评价范文
2014/01/03 职场文书
团委书记的竞聘演讲稿
2014/04/24 职场文书
2014医学院领导干部四风对照检查材料思想汇报
2014/09/16 职场文书
市场部岗位职责
2015/02/12 职场文书
优秀大学生自荐信
2015/03/26 职场文书
联谊活动总结范文
2015/05/09 职场文书
英语专业毕业论文答辩开场白
2015/05/27 职场文书
mysql sum(if())和count(if())的用法说明
2022/01/18 MySQL
通过Python把学姐照片做成拼图游戏
2022/02/15 Python