《AngularJS》——scope的三种绑定策略

三种绑定符的含义:

scope:{}使当前指令作用域与外界隔离开来,使其模板(template)处于non-inheriting(无继承)的状态

@的含义:把当前作用域属性当字符串传递,绑定外层scope的值,在自定义指令中的属性值中插入{{}}即可;
=的含义:与父scope进行双向绑定;
&的含义:传递一个来自父scope的函数(即对父级作用域进行绑定,并将其中的属性(可以是任何属性)包装成一个函数),稍后调用;

前两种绑定的HTML

独立scope的绑定策略
scope的@绑定策略
scope的=绑定策略
scope的&绑定策略
使替换自定义指令的oinput得到文本中input的值

第一种@的绑定策略

 var demo=angular.module('app',[]);
    demo.controller('ctrl',function ($scope) {
        $scope.name='我是文本中input的值';
    });
    demo.directive('demo',function () {
        return{
            //现在我想把name1的值和name的值相等
            scope:{
                //@的作用就是把外层atr的值(dom属性)赋值给name1传递,('我是文本中input的值')
               name1:'@atr'
            },
            restrict:'AE',
            template:''
        }
    });

第二种=的绑定策略

 var demo=angular.module('app',[]);
    demo.controller('ctrl',function ($scope) {
        $scope.name='我是文本中input的值';
    });
    demo.directive('demo',function () {
        return{
            //现在我想把name1的值和name的值相等
            scope:{
                //=的作用就是把外层atr的值(其实就是name的值)与name1进项双向绑定
                name1:'=atr'
            },
            restrict:'AE',
            template:''
        }
    });

第三种&的绑定策略




    
    




你可能感兴趣的:(JavaScript)