博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Angular企业级开发(8)-控制器的作用域
阅读量:7086 次
发布时间:2019-06-28

本文共 1411 字,大约阅读时间需要 4 分钟。

scope概念

scope(作用域)是视图和控制器之间的桥梁,scope本身是一个对象,有方法和属性。scope可以应用在视图和控制器上。

scope简单示例

  
AngularJS Scope Demo

Hello {

{name}}!


{

{sayHello()}}

var app = angular.module('plunker', []);app.controller('MainCtrl', function($scope) {  $scope.name = 'World';    $scope.sayHello=function(){    return "Angular Scope Demo";  }});

name是属性,sayHello()是方法。

$rootScope介绍

$rootScope是多个控制器都可以访问的对象,在$rootScope中定义的属性或方法可以在多个控制器中使用。但是$rootScope有可能产生诡异的问题。

AngularJS应用启动并生成视图时,会将根ng-app元素与$rootScope进行绑定。$rootScope 是所有 $scope 的最上层对象,可以理解为一个 AngularJS应用中得全局作用域对象,

$rootScope实例
  
AngularJS Scope Demo

{

{name1}}

value from $rootScope:{

{rootScopeValue}}


{

{name2}}

value from $rootScope:{

{rootScopeValue}}

var app = angular.module('plunker', []);app.controller('MainCtrl', function($rootScope) {  $rootScope.rootScopeValue="The value from $rootScope";});app.controller('Ctrl1', function($scope) {  $scope.name1="username in Ctrl1";});app.controller('Ctrl2', function($scope,$rootScope,$timeout) {  $scope.name2="username in Ctrl2";  $timeout(function(){    $rootScope.rootScopeValue="change $rootScope value in Ctrl2";  },3000)});

小结

  1. scope作用域不是从ng-controller开始的,之前个人理解都是以为是ng-controller开始的标签,视图上才绑定scope的属性和方法是错误的。

  2. scope在AngularJS中了提供视图和控制器之前数据绑定的桥梁

  3. $rootScope作用域顶层,嵌套的控制器可以继承到$rootScope的属性和方法。

参考资料

转载地址:http://idgml.baihongyu.com/

你可能感兴趣的文章
Photon服务器引擎 入门教程一
查看>>
平息操作系统之战的终结者:跨平台工具
查看>>
shell 脚本总结(常用脚本)
查看>>
杂谈锁 备忘
查看>>
Flex的动画效果与变换!(二)
查看>>
MySQL数据库,性能监控
查看>>
基于容器服务的持续集成与云端交付(二)- 多维度打磨交付能力
查看>>
Compression
查看>>
Flash Socket通信的安全策略问题 843端口
查看>>
Oracle 字符集的查看和修改
查看>>
MySQL数据库定时备份Shell脚本
查看>>
Centos中vim的配置
查看>>
PowerShell 实现邮箱收发数量统计
查看>>
2014年中国互联网企业100强(完整版榜单)
查看>>
解决win7打印机共享 出现“无法保存打印机设置,操作无法完成(错误0x000006d9)”...
查看>>
一致性协议算法-------------Paxos算法
查看>>
ubuntu 16.04 安装使用composer
查看>>
runtime.exec()
查看>>
深度学习(一)深度学习学习资料
查看>>
ES学习笔记之health api的实现
查看>>