本文实例讲述了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" }; })
模板:
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。