詳解AngularJS1.x學(xué)習(xí)directive 中‘& ’‘=’ ‘@’符號(hào)的區(qū)別使用
對(duì)于一個(gè)Html5框架的好壞,我們有幾個(gè)評(píng)判標(biāo)準(zhǔn), 輕量級(jí),可拓展,易復(fù)用,速度快。
對(duì)組件復(fù)用這點(diǎn),angular以directive的形式展示給開(kāi)發(fā)者,是一個(gè)還算不錯(cuò)的選擇,作為一個(gè)UI組件,必定存在數(shù)據(jù)交互。
那么數(shù)據(jù)交互過(guò)程中的幾個(gè)符號(hào)我們一定要有所了解,以及他們的區(qū)別是什么,防止我們?cè)谶\(yùn)用過(guò)程中出錯(cuò)。
1. 首先,我們看一scope作用域下面@的使用:
html
<!doctype html>
<html ng-app='myApp'>
<head>
</head>
<body>
<div ng-controller="listCtrl">
<input type="text" ng-model="t" />
<test title="{{t}}" >
<span>我的angularjs</span>
</test>
</div>
<script type="text/javascript" src="angular.js"></script>
<script type="text/javascript" src="main.js"></script>
</body></html>
js
var myApp=angular.module('myApp',[]);
myApp.controller('listCtrl',function($scope){
$scope.logchore="motorola";
});
myApp.directive('test',function(){
return {
'restrict':'E',
scope:{
title:"@"
},
template:'<div >{{title}}</div>'
}
});
這個(gè)必須指定的,這里的title是指令里scope的@對(duì)應(yīng)的,t就是控制域scope下的 .
2. = 的使用。
html
<!doctype html>
<html ng-app='myApp'>
<head>
</head>
<body>
<div ng-controller="listCtrl">
<input type="text" ng-model="t" />
<test title="t" >
<p>{{title}}</p>
<span>我的angularjs</span>
</test>
</div>
<script type="text/javascript" src="angular.js"></script>
<script type="text/javascript" src="main05.js"></script>
</body></html>
js
var myApp=angular.module('myApp',[]);
myApp.controller('listCtrl',function($scope){
$scope.logchore="motorola";
});
myApp.directive('test',function(){
return {
'restrict':'E',
scope:{
title:"="
},
template:'<div >{{title}}</div>'
}
});
和上面@相比,這個(gè)直接賦值等于scope域下的t了
3. 最好我們看看&符號(hào)的使用
html
<!doctype html> <html ng-app='myApp'> <head> </head> <body> <div ng-controller="listCtrl"> <test flavor="logchore()" ></test> </div> <script type="text/javascript" src="angular.js"></script> <script type="text/javascript" src="main05.js"></script> </body></html>
js
var myApp=angular.module('myApp',[]);
myApp.controller('listCtrl',function($scope){
$scope.logchore=function(){
alert('ok');
};
});
myApp.directive('test',function(){
return {
'restrict':'E',
scope:{
flavor:"&"
},
template:'<div ><button ng-click="flavor()"></button></div>'
}
});
嘗試一下,就明白了,簡(jiǎn)潔明了!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 學(xué)習(xí)AngularJs:Directive指令用法(完整版)
- AngularJS中的Directive實(shí)現(xiàn)延遲加載
- AngularJS入門(mén)心得之directive和controller通信過(guò)程
- AngularJS中directive指令使用之事件綁定與指令交互用法示例
- Angular之指令Directive用法詳解
- 詳解angularJs中自定義directive的數(shù)據(jù)交互
- AngularJS directive返回對(duì)象屬性詳解
- AngularJS中的Directive自定義一個(gè)表格
- Angular 根據(jù) service 的狀態(tài)更新 directive
- AngularJs directive詳解及示例代碼
相關(guān)文章
angular和BootStrap3實(shí)現(xiàn)購(gòu)物車功能
這篇文章主要為大家詳細(xì)介紹了angular和BootStrap3實(shí)現(xiàn)購(gòu)物車功能的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
AngularJS通過(guò)$http和服務(wù)器通信詳解
相信大家都知道AngularJS是一個(gè)前端框架,實(shí)現(xiàn)了可交互式的頁(yè)面,但是對(duì)于一個(gè)web應(yīng)用,頁(yè)面上進(jìn)行展示的數(shù)據(jù)從哪里來(lái),肯定需要服務(wù)端進(jìn)行支持,那么AngularJS是如何同服務(wù)端進(jìn)行交互的呢?通過(guò)這篇文章大家一起來(lái)看看吧。2016-09-09
AngularJS入門(mén)教程之表單校驗(yàn)用法示例
這篇文章主要介紹了AngularJS表單校驗(yàn)用法,結(jié)合實(shí)例形式分析了AngularJS各種常見(jiàn)的表單校驗(yàn)功能及使用技巧,需要的朋友可以參考下2016-11-11
AngularJS 支付倒計(jì)時(shí)功能實(shí)現(xiàn)思路
這篇文章主要介紹了AngularJS 支付倒計(jì)時(shí)功能的實(shí)現(xiàn)思路,需要的朋友可以參考下2017-06-06
Angular4.x通過(guò)路由守衛(wèi)進(jìn)行路由重定向?qū)崿F(xiàn)根據(jù)條件跳轉(zhuǎn)到相應(yīng)的頁(yè)面(推薦)
這篇文章主要介紹了Angular4.x通過(guò)路由守衛(wèi)進(jìn)行路由重定向,實(shí)現(xiàn)根據(jù)條件跳轉(zhuǎn)到相應(yīng)的頁(yè)面,這個(gè)功能在網(wǎng)上商城項(xiàng)目上經(jīng)常會(huì)用到,下面小編給大家?guī)?lái)了解決方法一起看看吧2018-05-05

