自定义指令-directive (转)
1、指令作用域中的@ 作用是把当前属性作为字符串传递。 前台代码: Js代码: var myModule = angular.module("MyModule",[]); myModule.controller('MyCtrl',['$scope',function($scope){ myModule.directive("drink",function(){ {{water}} "} }); 执行结果: (1)HTML页面中,声明一个标签 (2)JS文件中,首先从模块开始,然后创建一个控制器,再定义一个指令,主要实现的是将" {{water}} "标签显示
(3)重点介绍这里的
该表达式等价于:
具体含义就是在指令的scope上定义一个属性名:water,它的值就是前台界面中water属性的值,也就是"{{pureWater}}";
同时{{pureWater}}的值我们从声明的控制器可以看出: 所以最终页面显示的是“纯净水”,主要的流程就是: a.在指令中,通过@实现指令与HTML页面元素关联; b.在控制器中又实现了与页面的联系; c.从而借助HTML页面建立起控制器与指令的联系,也是一种通讯方式。 具体见下图: 2、指令作用域中的= 作用是与父scope中的属性进行双向绑定。Ctrl: Directive: Js代码: var myModule = angular.module("MyModule", 这里=的手段类似,通过页面设置两个输入框,分别代表指令和控制器的作用域,在JS代码实现了双向绑定,做到了控制器与指令在各自作用域内能够影响对方,也就是双向通信,具体思路与@类似,不赘述,上图: 3、指令作用域中的& 主要作用是传递一个来自父scope的函数,稍后调用。 js代码 var myModule = angular.module("MyModule",function($scope){ myModule.directive("greeting", 从页面可以看出,这里定义了一个标签 (1)初始界面 (2)在第一个文本框填值 (3)在第二个文本框填值 (4)在第三个文本框中填值 转自:http://www.cnblogs.com/bigdataZJ/p/AngularJS1.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Couldn't register with the bootstrap server错误
- angularjs – 无法使Visual Studio 2013浏览器链接使用静态
- angularjs – 如何限制角度JS中textarea中的单词
- angularjs – Robot selenium2library如何设置全局等待元素
- Controller中错误 TypeError: $rootScope.$broadcast is no
- Angular 2 Inject
- angular2 – systemjs.config.js在角度2包装结构中做什么?
- twitter-bootstrap – 开源管理主题为twitter bootstrap
- angularjs – 在Angular.js中观察$locationProvider
- 如何在Bash中使用read命令?