AngularJS中isolate scope的用法分析
本文实例讲述了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程序设计有所帮助。
- angularjs在ng-repeat中使用ng-model遇到的问题
- AngularJs ng-repeat 嵌套如何获取外层$index
- Angularjs的ng-repeat中去除重复数据的方法
- AngularJS使用ng-repeat指令实现下拉框
- AngularJS基础 ng-repeat 指令简单示例
- AngularJS 获取ng-repeat动态生成的ng-model值实例详解
- AngularJS实践之使用ng-repeat中$index的注意点
- AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
- AngularJS全局scope与Isolate scope通信用法示例
- 关于angularJs指令的Scope(作用域)介绍
- AngularJS的ng-repeat指令与scope继承关系实例详解
相关文章
详解angularJS动态生成的页面中ng-click无效解决办法
这篇文章主要介绍了详解angularJS动态生成的页面中ng-click无效解决办法,非常具有实用价值,需要的朋友可以参考下2017-06-06使用Angular CLI生成 Angular 5项目教程详解
这篇文章主要介绍了使用Angular CLI生成 Angular 5项目的教程详解 ,需要的朋友可以参考下2018-03-03Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
这篇文章主要介绍了Angular.JS利用ng-disabled属性和ng-model实现禁用button效果的相关资料,文中给出了详细的示例代码,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。2017-04-04简单谈谈require模块化jquery和angular的问题
下面小编就为大家带来一篇简单谈谈require模块化jquery和angular的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-06-06Angularjs编写KindEditor,UEidtor,jQuery指令
使用过 AngularJS 的朋友应该最感兴趣的是它的指令。现今市场上的前端框架也只有AngularJS 拥有自定义指令的功能,并且AngularJS 是目前唯一提供Web应用可复用能力的框架。2015-01-01
最新评论