Angular.js之作用域scope'@','=','&'實例詳解
什么是scope
AngularJS 中,作用域是一個指向應用模型的對象,它是表達式的執(zhí)行環(huán)境。作用域有層次結構,這個層次和相應的 DOM 幾乎是一樣的。作用域能監(jiān)控表達式和傳遞事件。
在 HTML 代碼中,一旦一個 ng-app 指令被定義,那么一個作用域就產(chǎn)生了,由 ng-app 所生成的作用域比較特殊,它是一個根作用域($rootScope),它是其他所有$Scope 的最頂層。
除了用 ng-app 指令可以產(chǎn)生一個作用域之外,其他的指令如 ng-controller,ng-repeat 等都會產(chǎn)生一個或者多個作用域。此外,還可以通過 AngularJS 提供的創(chuàng)建作用域的工廠方法來創(chuàng)建一個作用域。這些作用域都擁有自己的繼承上下文,并且根作用域都為$rootScope。
在生成一個作用域之后,在編寫 AngularJS 代碼時,$scope 對象就代表了這個作用域的數(shù)據(jù)實體,我們可以在$scope 內(nèi)定義各種數(shù)據(jù)類型,之后可以直接在 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> --> <!--@是單項數(shù)據(jù)綁定,hd-color="{{color}}"作用域隔離,在view中是以模板“{{}}”的形式;=雙向綁定,hd-color="color",在view中直接以屬性的形式出現(xiàn)-->
<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:'&'} //通過&屬性名來調用控制器的函數(shù)
}
});
</script>
</div>
</body>
</html>
以上所述是小編給大家介紹的Angular.js之作用域scope'@','=','&'實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
解決三元運算符 報錯“SyntaxError: can''''t assign to conditional expre
在本篇文章里小編給大家整理的是關于python三元運算符 報錯“SyntaxError: can't assign to conditional expression”的處理方法,需要的朋友們學習下。2020-02-02
使用AngularJS創(chuàng)建單頁應用的編程指引
這篇文章主要介紹了使用AngularJS創(chuàng)建單頁應用的編程指引,AngularJS是一款高人氣的JavaScript庫,需要的朋友可以參考下2015-06-06
Angular-Ui-Router+ocLazyLoad動態(tài)加載腳本示例
本篇文章主要介紹了Angular-Ui-Router+ocLazyLoad動態(tài)加載腳本示例,可以提高加載速度,使用戶體驗更好,有興趣的可以了解一下。2017-03-03
深究AngularJS——ng-checked(回寫:帶真實案例代碼)
本篇文章主要介紹了深究AngularJS——ng-checked(回寫:帶真實案例代碼),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
Ionic + Angular.js實現(xiàn)圖片輪播的方法示例
圖片輪播在我們?nèi)粘i_發(fā)中是再熟悉不過的了,下面這篇文章主要給大家介紹了Ionic + Angular實現(xiàn)圖片輪播的方法,文中給出了詳細的示例代碼供大家參考學習,需要的朋友們下面來一起看看吧。2017-05-05
Angularjs 動態(tài)改變title標題(兼容ios)
這篇文章主要介紹了 Angularjs 動態(tài)改變title標題(兼容ios)的相關資料,需要的朋友可以參考下2016-12-12

