AngularJS中isolate scope的用法分析
本文實(shí)例講述了AngularJS中isolate scope的用法。分享給大家供大家參考,具體如下:
angular js中指令directive有個(gè)特別有用的東西,那就是 isolate scope (被隔離的scope)
關(guān)于具體他和全局的scope 有什么區(qū)別,可以參考下面這篇文章:
AngularJS 全局scope與Isolate scope通信用法示例
本文主要講解 其具體的幾種使用方式:
1. = 的使用
[html]
<div class="card" ng-repeat="app in apps"> <app-info info="app"></app-info> </div>
[js]
app.directive('appInfo', function() { return { restrict: 'E', scope: { info: '=' //如果是 = 就是info屬性的值 賦給 當(dāng)前scope.info }, templateUrl: 'js/directives/appInfo.html' }; });
2. =屬性名 的使用
[html]
<div ng-controller="AppCtrl as appctrl"> Ctrl <input type="text" ng-model="appctrl.ctrlFlavor"> Dir <div ab="25" drink="123456" flavor="appctrl.ctrlFlavor"></div> </div>
[js]
var app = angular.module("drinkApp", []); app.controller("AppCtrl", function() { var appctrl = this; appctrl.ctrlFlavor = "blackberry"; }); app.directive("drink", function() { return { scope: { flavor: "=ab" }, template: '<input type="text" ng-model="flavor">' }; });
顯示結(jié)果:
3. @ = 和 & 的綜合使用
html 代碼:
<div class="mainController" ng-app="isolateApp"> <div ng-controller="AppCtrl"> <div class="row"> <character name="Roman Regins" image="img/p1.jpg" movetype="movetype" use-move="getMove(name,movetype,move)" class="col-xs-4"></character> <character name="Seth Rollins" image="./img/p2.jpg" movetype="movetype" use-move="getMove(name,movetype,move)" class="col-xs-4"></character> <character name="Dean Ambrose" image="./img/p3.jpg" movetype="movetype" use-move="getMove(name,movetype,move)" class="col-xs-4"></character> </div> </div> </div>
js控制:
//顯示@ = 和 &綜合的 var app = angular.module('isolateApp',[]); app.controller("AppCtrl",['$scope',"$element",function($scope,$element){ $scope.getMove = function(name,movetype,move){ console.log(name+'$$$'+movetype+'$$$'+move); } $scope.movetypes = ['amove','bavi','cmp4']; $scope.movetype = $scope.movetypes[0]; }]) .directive("character",function(){ return { restrict:"E", scope:{ name:"@", //@指的是屬性的值賦給name 僅此而已 image:"@", movetype:"=", //表示類型等于當(dāng)前屬性的值 useMove:"&" //&表示對(duì)應(yīng)的函數(shù)的引用 及該屬性對(duì)應(yīng)的函數(shù)別名就是他了 }, controller:"AppCtrl", //只有這里聲明了 才會(huì)將select選項(xiàng)載入進(jìn)來(lái) replace:true, templateUrl:"shield_isolate.html" }; })
模板:
<script type="text/ng-template" id="shield_isolate.html"> <div class="panel panel-default"> <div class="panel-body"> <div> <figure> <img src="{{image}}"> <figcaption>{{name}}</figcaption> </figure> </div> </div> <div>Move: <input type="text" ng-model="value" class="form-controller"/> </div> <div> Select Move Type: <select ng-model="movetype" ng-options="movetype for movetype in movetypes"> </select> </div> <div class="panel-footer clearfix"> <div class="btn btn-primary" ng-click="useMove({name:name,movetype:movetype,move:value})" >Action!</div> //這里的":"前的三個(gè)參數(shù)分別對(duì)應(yīng) 父函數(shù)的三個(gè)參數(shù)的名稱 //":" 后的三個(gè)參數(shù)則對(duì)應(yīng) 給定值scope 的三個(gè)屬性 以便一一對(duì)應(yīng)傳值 </div> </div> </script>
顯示結(jié)果:
希望本文所述對(duì)大家AngularJS程序設(shè)計(jì)有所幫助。
- angularjs在ng-repeat中使用ng-model遇到的問題
- AngularJs ng-repeat 嵌套如何獲取外層$index
- Angularjs的ng-repeat中去除重復(fù)數(shù)據(jù)的方法
- AngularJS使用ng-repeat指令實(shí)現(xiàn)下拉框
- AngularJS基礎(chǔ) ng-repeat 指令簡(jiǎn)單示例
- AngularJS 獲取ng-repeat動(dòng)態(tài)生成的ng-model值實(shí)例詳解
- AngularJS實(shí)踐之使用ng-repeat中$index的注意點(diǎn)
- AngularJS中$injector、$rootScope和$scope的概念和關(guān)聯(lián)關(guān)系深入分析
- AngularJS全局scope與Isolate scope通信用法示例
- 關(guān)于angularJs指令的Scope(作用域)介紹
- AngularJS的ng-repeat指令與scope繼承關(guān)系實(shí)例詳解
相關(guān)文章
詳解angularJS動(dòng)態(tài)生成的頁(yè)面中ng-click無(wú)效解決辦法
這篇文章主要介紹了詳解angularJS動(dòng)態(tài)生成的頁(yè)面中ng-click無(wú)效解決辦法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-06-06使用Angular CLI生成 Angular 5項(xiàng)目教程詳解
這篇文章主要介紹了使用Angular CLI生成 Angular 5項(xiàng)目的教程詳解 ,需要的朋友可以參考下2018-03-03Angular.JS利用ng-disabled屬性和ng-model實(shí)現(xiàn)禁用button效果
這篇文章主要介紹了Angular.JS利用ng-disabled屬性和ng-model實(shí)現(xiàn)禁用button效果的相關(guān)資料,文中給出了詳細(xì)的示例代碼,相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-04-04Angular將填入表單的數(shù)據(jù)渲染到表格的方法
這篇文章主要介紹了Angular將填入表單的數(shù)據(jù)渲染到表格的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-09-09簡(jiǎn)單談?wù)剅equire模塊化jquery和angular的問題
下面小編就為大家?guī)?lái)一篇簡(jiǎn)單談?wù)剅equire模塊化jquery和angular的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-06-06Angularjs編寫KindEditor,UEidtor,jQuery指令
使用過 AngularJS 的朋友應(yīng)該最感興趣的是它的指令?,F(xiàn)今市場(chǎng)上的前端框架也只有AngularJS 擁有自定義指令的功能,并且AngularJS 是目前唯一提供Web應(yīng)用可復(fù)用能力的框架。2015-01-01angularjs實(shí)現(xiàn)多選框分段全選效果實(shí)現(xiàn)
這篇文章主要為大家介紹了angularjs實(shí)現(xiàn)多選框分段全選效果實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06AngularJS常見過濾器用法實(shí)例總結(jié)
這篇文章主要介紹了AngularJS常見過濾器用法,結(jié)合實(shí)例形式總結(jié)分析了AngularJS大小寫過濾器、貨幣過濾器、日期過濾器、limitTo過濾器、orderBy過濾器及自定義過濾器使用方法,需要的朋友可以參考下2017-07-07angularjs學(xué)習(xí)筆記之完整的項(xiàng)目結(jié)構(gòu)
這篇文章主要介紹了angularjs學(xué)習(xí)筆記之完整的項(xiàng)目結(jié)構(gòu)的相關(guān)資料,需要的朋友可以參考下2015-09-09