详细:angular @ 隔离作用域绑定时,link 函数初始化的时候 scope 对象中有那个值,但是单独访问却 访问不了,但是在click函数里面异步调用时 却可以访问了
<!doctype html>
<html ng-app="myApp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://apps.bdimg.com/libs/angular.js/1.2.16/angular.min.js"></script>
</head>
<body>
<div ng-controller="myAppCtrl">
<xingoo pd="sayHello"></xingoo>
<xingoo pd="sayNo"></xingoo>
<xingoo pd="sayYes"></xingoo>
</div>
<script type="text/javascript">
var myAppModule = angular.module("myApp",[])
.controller( 'myAppCtrl',[ '$scope', function ($scope) {
} ] );
myAppModule.directive("xingoo",function(){
return {
restrict:'AE',
scope:{
say:'@pd'
},
template:'<input type="text" ng-model="username"/><br>'+
'<button ng-click="fnSay(username)">{{ say }}</button><br>',
repalce:true,
link : function(scope, element, attrs) {
console.log(scope); // 打印出来的对象里面有 say 这个属性 且值是对的
console.log(scope.say);// 打印出来是undefined
scope.fnSay = function (name) {
console.log(scope);// 打印出来的对象里面有 say 这个属性 且值是对的
console.log(scope.say);// 打印出来的值是对的
};
}
}
});
</script>
</body>
</html>
Say素描