详解AngularJS中的作用域

 更新时间:2015年06月17日 11:15:08   投稿:goldensun  
这篇文章主要介绍了详解AngularJS中的作用域,是AngularJS学习中的基础知识,需要的朋友可以参考下

 范围扮演其视图连接控制器的角色一个特殊的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。看到结果如下。

2015617110218233.jpg (560×429)

相关文章

  • 掌握Queries设计模式优化Angular应用开发技巧

    掌握Queries设计模式优化Angular应用开发技巧

    这篇文章主要介绍了掌握Queries设计模式优化Angular应用开发的技巧示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 详解Angular2响应式表单

    详解Angular2响应式表单

    这篇文章主要介绍了详解Angular2响应式表单,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Angular 5.0 来了! 有这些大变化

    Angular 5.0 来了! 有这些大变化

    Angular 5.0 来了! 有这些重大变化,这篇文章就为大家介绍了Angular 5.0大变化,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Angular 4依赖注入学习教程之ValueProvider的使用(七)

    Angular 4依赖注入学习教程之ValueProvider的使用(七)

    这篇文章主要给大家介绍了关于Angular 4依赖注入之ValueProvider使用的相关资料,文中介绍的非常详细,对大家学习或者使用Angular4具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • 说说AngularJS中的$parse和$eval的用法

    说说AngularJS中的$parse和$eval的用法

    本篇文章主要介绍了说说AngularJS中的$parse和$eval的用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 深入理解AngularJS中的ng-bind-html指令

    深入理解AngularJS中的ng-bind-html指令

    ng-bind-html和ng-bind的区别就是,ng-bind把值作为字符串,和元素的内容进行绑定,但是ng-bind-html把值作为html,和元素的html进行绑定.相当于jq里面的.text()和.html()。这篇文章主要给大家深入的介绍了AngularJS中ng-bind-html指令 的相关资料,需要的朋友可以参考下。
    2017-03-03
  • angularjs1.X 重构controller 的方法小结

    angularjs1.X 重构controller 的方法小结

    这篇文章主要介绍了angularjs1.X 重构controller 的方法小结,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • AngularJs定制样式插入到ueditor中的问题小结

    AngularJs定制样式插入到ueditor中的问题小结

    这篇文章主要介绍了AngularJs定制样式插入到ueditor中的问题小结的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08
  • Angular6项目打包优化的实现方法

    Angular6项目打包优化的实现方法

    这篇文章主要给大家介绍了关于Angular6项目打包优化的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Angular6具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12
  • angular组件继承的实现方法

    angular组件继承的实现方法

    本篇文章主要介绍了angular组件继承的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02

最新评论