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=‘张三‘;
}]);
原文:http://www.cnblogs.com/zhuj/p/7691400.html