angularJs自定义指令时的绑定
2015-08-22 14:43
796 查看
<!DOCTYPE html> <html ng-app="app"> <head> <meta charset="utf-8"> <title></title> <script type="text/javascript" src="../js/angular-1.2.16.js" ></script> </head> <body ng-controller="dirCtr"> <input type="text" ng-model="myUrl" /> <div my-directive some-attr="{{myUrl}}" my-link-text="click here"></div> </body> <script type="text/javascript"> var app=angular.module("app",[]); app.directive("myDirective",function(){ return{ restrict:"A", replace:true, scope:{ myUrl:'@someAttr', myLinkText:'@myLinkText1' }, template:'<div><input type="text" ng-model="myUrl" /><a href="{{myUrl}}">{{myUrl}}</a></div>' }; }); app.controller("dirCtr",function($scope){ $scope.myLinkText="baidu"; }); </script> </html>
当你改变上面的输入框时,下面的输入框跟着变,但是当你改变下面的输入框时,上面的输入框不跟真变.
原因是参数scope造成了了指令的一个局部区域.
那么怎么才能输入下面的文本框,上面的也跟着变呢.
看下面的代码.
<!DOCTYPE html> <html ng-app="app"> <head> <meta charset="utf-8"> <title></title> <script type="text/javascript" src="../js/angular-1.2.16.js" ></script> </head> <body> <input type="text" ng-model="theirUrl" /> <div my-directive some-attr="theirUrl" my-link-text="click here"></div> </body> <script type="text/javascript"> var app=angular.module("app",[]); app.directive("myDirective",function(){ return{ restrict:"A", replace:true, scope:{ myUrl:'=someAttr', myLinkText:'@' }, template:'<div><input type="text" ng-model="myUrl" /><a href="{{myUrl}}">{{myUrl}}</a></div>' }; }); </script> </html>
帅呆了,酷毙的双向绑定.
相关文章推荐
- [Angularjs]ng-repeat中使用ng-model遇到的问题
- AngularJs在单击提交后显示验证信息.
- AngularJs学习经验汇集
- AngularJs学习经验汇集
- AngularJs 构建复杂应用(一)
- angularjs自己总结
- AngularJS自定义Echarts标签 — 雷达图Radar
- AngularJS自定义Echarts标签 — 柱状图Bar
- angularJs 菜单的timeout和delay处理
- AngularJS指令编写实用指南
- 理解AngularJS指令 -- ng-view
- AngularJS:何时应该使用Directive、Controller、Service?
- 在AngularJS应用中实现认证授权
- 理解AngularJS中的Service类型
- angularjs制作购物车功能
- AngularJS自定义Echarts标签 — 折线图Line
- 解决AngularJS使用ng-bind-html会过滤html中style属性的问题
- avalon 类似于angular
- Angularjs中作用域与模板之间的关系
- codeforces 177B2 B2. Rectangular Game(数论)