Directive指令的scope配置项使用说明

常见三种:

1.false-----完全继承父级,子父同步

2.true------继承父级,同时创建自己的作用域,父级改变,自己改变,但自己改变父级不变

3.{}--------创建自己的作用域,和父级完全隔离,与父级毫无关系

♣隔离条件下着重介绍的三个子父之间传值关系

1.@父传子,子不能传父--------》字符串,有{{}}

2.=父子相传,作用域相通------》变量,无{{}}

3.&子传父,子变化时,父有函数对应执行,父级监听子级-------》directive里绑定的是函数,函数的返回值绑定父级中的值或者函数

 以上@,=这两种方式要注意第一种是字符串,而第二种是变量,从双花括号{{}}的使用可以区别开来。&用于绑定父级的值或者函数进而通过父级的含函数监听子级的变化

事例

   <div ng-app="myapp"  ng-controller="mycontrol">
        <div>{{name}}<input type="text" ng-model="name"/></div>
        <myelement myname="{{name}}"></myelement></br>
        <myelem twoname="name"></myelem></br>
        <myele threename="name"></myele></br>
        <myel fourname="box()"></myel>
    </div>
    <script type="text/javascript"> 
        var app = angular.module('myapp', []);
        app.controller('mycontrol', function($scope) {
           $scope.name="hello world!";
           $scope.box=function(){
                   alert("子级调用父级函数")
           }
        }).directive("myelement",function(){
                return{
                    restrict:"EA",
                    template:"<input type='text' ng-model='myname'>",
                    scope:{
                        myname:"@"
                    }
                }
        }).directive("myelem",function(){
            return{
                restrict:"EA",
                template:"<input type='text' ng-model='twoname'/>",
                scope:{
                    twoname:"="
                }
                
            }
        }).directive("myele",function(){
            return{
                restrict:"EA",
                template:"<div>{{threename()}}</div>",
         //template:"<input type='text' ng-model='threename()'/>",这样不能成功,如果是这样就类似于@  scope:{ threename:
"&" } } }).directive("myel",function(){ //子级调用父级函数 return{ restrict:"EA", template:"<div ng-click='fourname()'>点击</div>", scope:{ fourname:"&" } } }) </script>

 

 

 

转载于:https://www.cnblogs.com/yogic/p/8312836.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值