scope

angular.module('myApp',[])
 .directive('bookList',function () {
        return {
            restrict:'ECAM',
            controller:function ($scope) {
               // console.log($scope.a());
                //console.log($scope);
                //$scope.books=$scope.a();
              // $scope.books=$scope.b;
              // $scope.books.push({name:'angularjs'});
                //$scope.b.push({name:'nodejs'})

                console.log($scope);
                $scope.title=$scope.c;//$scope.c得到的是字符串
            },
            //为true创建一个有继承链的独立作用域,默认false
            //scope:true,
            //当为true对象时也会创建一个独立的作用域
            scope:{
                //把父作用域的属性包装成一个函数,从而以函数的方式读写父作用域的属性,将父元素books封装成一个a函数
                 //a:'&books' //这里的books不代表父元素books,代表当前指令里的一个属性
                //b:'=parentBooks'//作用域的属性与父作用域的属性进行双向绑定,任何一方的修改均影响到对方

                //引用简单数据类型的方法,只能读取父作用域里的值的单向绑定,不能对引用进行绑定
                c:'@parentTitle'
            },
            controllerAs:'bookListController',
            template:'<div><ul><li ng-repeat="book in books">{{books}}</li></ul></div>',
            replace:true
        }
 })

    .controller('firstController',['$scope',function ($scope) {
        console.log($scope);
        $scope.books=[
            {name:'php'},
            {name:'javascript'},
            {name:'java'}
        ];
        $scope.title='张三';
    }]);

  

posted @ 2017-10-19 11:09  zhujhhxx  阅读(122)  评论(0编辑  收藏  举报