国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

AngularJS中isolate scope的用法分析

2019-11-19 18:52:22
字體:
來源:轉載
供稿:網友

本文實例講述了AngularJS中isolate scope的用法。分享給大家供大家參考,具體如下:

angular js中指令directive有個特別有用的東西,那就是 isolate scope (被隔離的scope)

關于具體他和全局的scope 有什么區別,可以參考下面這篇文章:

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屬性的值 賦給 當前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">'  };});

顯示結果:

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:"=", //表示類型等于當前屬性的值          useMove:"&" //&表示對應的函數的引用 及該屬性對應的函數別名就是他了        },        controller:"AppCtrl", //只有這里聲明了 才會將select選項載入進來        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>        //這里的":"前的三個參數分別對應 父函數的三個參數的名稱        //":" 后的三個參數則對應 給定值scope 的三個屬性 以便一一對應傳值      </div>    </div></script>

顯示結果:

希望本文所述對大家AngularJS程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 柞水县| 集安市| 株洲县| 温宿县| 遂平县| 谢通门县| 昭苏县| 财经| 南木林县| 乐安县| 庄浪县| 绥芬河市| 城固县| 澄江县| 白河县| 工布江达县| 平利县| 南漳县| 奉节县| 娄底市| 通辽市| 保亭| 合山市| 景谷| 望江县| 门源| 合阳县| 共和县| 奉化市| 安西县| 花莲市| 土默特左旗| 昭觉县| 和硕县| 许昌市| 苏尼特左旗| 岑巩县| 长汀县| 吉安市| 灵武市| 临桂县|