angularjs学习之八(angularjs中isolate scope的使用)
来源:互联网 发布:老虎证券 知乎 编辑:程序博客网 时间:2024/05/22 00:51
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>
显示结果:
1 0
- angularjs学习之八(angularjs中isolate scope的使用)
- AngularJS Directive 隔离 Scope ( "isolate" scope)与父scope交互问题
- AngularJS学习:directive的scope
- AngularJs学习之路(八)
- Angularjs中scope与$scope
- AngularJs学习笔记--Scope
- AngularJs学习笔记--Scope
- AngularJs学习笔记--Scope
- angularjs 学习 scope
- AngularJS中$scope用法
- angularJS-如何使用 Scope
- Angularjs中scope的一些属性
- 对AngularJs中$scope的深入理解
- angularJs中directive的scope ‘@’,‘=’区别
- AngularJS 的 Scope
- [angularjs]$scope的作用
- angularjs学习之六(angularjs中directive指令的一般编程事件绑定 模板使用等)
- Angularjs系列之作用域(scope)
- mongodb入门
- python 显示unicode字符问题
- 欢迎使用CSDN-markdown编辑器
- 求一个整数四舍五入后的结果,该整数可以是正数负数
- test
- angularjs学习之八(angularjs中isolate scope的使用)
- nyoj-307 宝物【dp+贪心】
- ANSI转UNICODE之基础篇
- HashSet HashTable HashMap的区别
- 系统工具安装,配置
- 《创业者--互联网+、资本+、文化+ 创业箴言》
- Java之美[从菜鸟到高手演变]之HashMap、HashTable
- git库迁移
- POJ 2159 Ancient Cipher(水~)