Angular.js之作用域scope'@','=','&'实例详解


Posted in Javascript onFebruary 28, 2017

什么是scope

AngularJS 中,作用域是一个指向应用模型的对象,它是表达式的执行环境。作用域有层次结构,这个层次和相应的 DOM 几乎是一样的。作用域能监控表达式和传递事件。

在 HTML 代码中,一旦一个 ng-app 指令被定义,那么一个作用域就产生了,由 ng-app 所生成的作用域比较特殊,它是一个根作用域($rootScope),它是其他所有$Scope 的最顶层。

除了用 ng-app 指令可以产生一个作用域之外,其他的指令如 ng-controller,ng-repeat 等都会产生一个或者多个作用域。此外,还可以通过 AngularJS 提供的创建作用域的工厂方法来创建一个作用域。这些作用域都拥有自己的继承上下文,并且根作用域都为$rootScope。

在生成一个作用域之后,在编写 AngularJS 代码时,$scope 对象就代表了这个作用域的数据实体,我们可以在$scope 内定义各种数据类型,之后可以直接在 HTML 中以 {{变量名}} 方式来让 HTML 访问到这个变量。

下面通过实例代码给大家介绍angular.js之作用域scope'@','=','&'

<!doctype html> 
<html ng-app='myApp'> 
<head> 
</head> 
<body> 
<script src="http://cdn.bootcss.com/angular.js/1.4.6/angular.js"></script>

<script src="https://cdn.bootcss.com/jquery/1.8.3/jquery.js"></script>

<div ng-controller="listCtrl" ng-app="myApp"> 


<input type="text" ng-model="color"> 


<!-- <span kid hd-color="color"></span> --> <!--@是单项数据绑定,hd-color="{{color}}"作用域隔离,在view中是以模板“{{}}”的形式;=双向绑定,hd-color="color",在view中直接以属性的形式出现-->


<div kid color="callback()"></div>

</div>
<script type="text/javascript">


var myApp=angular.module('myApp',[]); 


myApp.controller('listCtrl',function($scope){ 



$scope.color="red"; 



$scope.callback=function(){




return 'a web developer !';



}


}); 


myApp.directive('kid',function(){ 



return { 




restrict:'AE', 




//template:'<div style="color:{{color}}">@符号的学习</div>' , 




template:'<h1>{{color()}}</h1>', 




scope:{ /*color:"=hdColor"*//* "@hdColor" */color:'&'} //通过&属性名来调用控制器的函数



} 


}); 
</script>
</div> 
</body>
</html>

以上所述是小编给大家介绍的Angular.js之作用域scope'@','=','&'实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js 获取(接收)地址栏参数值的方法
Apr 01 Javascript
Jquery实现显示和隐藏的4种简单方式
Aug 28 Javascript
ANGULARJS中用NG-BIND指令实现单向绑定的例子
Dec 08 Javascript
jquery中show()、hide()和toggle()用法实例
Jan 15 Javascript
javascript简单实现类似QQ头像弹出效果的方法
Aug 03 Javascript
JS实现六边形3D拖拽翻转效果的方法
Sep 11 Javascript
Form表单按回车自动提交表单的实现方法
Nov 18 Javascript
用node和express连接mysql实现登录注册的实现代码
Jul 05 Javascript
bootstrap 通过加减按钮实现输入框组功能
Nov 15 Javascript
jquery ajaxfileupload异步上传插件
Nov 21 jQuery
JavaScript实现图片懒加载的方法分析
Jul 05 Javascript
微信小程序中换行空格(多个空格)写法详解
Jul 10 Javascript
jQuery EasyUI ProgressBar进度条组件
Feb 28 #Javascript
jQuery实现ajax无刷新分页页码控件
Feb 28 #Javascript
jQuery EasyUI Panel面板组件使用详解
Feb 28 #Javascript
AngularJS constant和value区别详解
Feb 28 #Javascript
微信小程序左右滑动切换页面详解及实例代码
Feb 28 #Javascript
微信小程序 使用腾讯地图SDK详解及实现步骤
Feb 28 #Javascript
Vue.js父与子组件之间传参示例
Feb 28 #Javascript
You might like
浅谈PHP强制类型转换,慎用!
2013/06/06 PHP
PHP 伪静态技术原理以及突破原理实现介绍
2013/07/12 PHP
destoon实现不同会员组公司名称显示不同的颜色的方法
2014/08/22 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
2015/12/24 PHP
Zend Framework框架实现类似Google搜索分页效果
2016/11/25 PHP
一个无限级XML绑定跨框架菜单(For IE)
2007/01/27 Javascript
javascript 异常处理使用总结
2009/06/21 Javascript
JavaScript 对象链式操作测试代码
2010/04/25 Javascript
js实现点击注册按钮开始读秒倒计时的小例子
2013/05/11 Javascript
Javascript/Jquery——简单定时器的多种实现方法
2013/07/03 Javascript
js判断字符长度及中英文数字等
2014/03/19 Javascript
jQuery简单图表peity.js使用示例
2014/05/02 Javascript
Vue.js中用v-bind绑定class的注意事项
2016/12/13 Javascript
JavaScript &amp; jQuery完美判断图片是否加载完毕
2017/01/08 Javascript
React 子组件向父组件传值的方法
2017/07/24 Javascript
11行JS代码制作二维码生成功能
2018/03/09 Javascript
jQuery实现获取及设置CSS样式操作详解
2018/09/05 jQuery
Python字符串格式化输出方法分析
2016/04/13 Python
python操作mysql数据库
2017/03/05 Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
2017/03/11 Python
Python数据报表之Excel操作模块用法分析
2019/03/11 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
2019/08/23 Python
手写一个python迭代器过程详解
2019/08/27 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
浅谈Python中文件夹和python package包的区别
2020/06/01 Python
html5利用canvas实现颜色容差抠图功能
2019/12/23 HTML / CSS
如何手工释放资源
2013/12/15 面试题
团支书的期末学习总结自我评价
2013/11/01 职场文书
年终考核评语
2014/01/19 职场文书
环保公益策划方案
2014/08/15 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
教师自查自纠工作情况报告
2014/10/29 职场文书
学生退学证明
2015/06/23 职场文书
2016年小学“我们的节日·中秋节”活动总结
2016/04/05 职场文书
导游词之无锡古运河
2019/11/14 职场文书