<!DOCTYPE html>
<html lang="en" ng-app="app">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js?v=12"></script>
<script>
var app = angular.module('app',[]);
app.factory('userData',['$http','$q',function($http,$q){
return {
query:function(){
var deferred = $q.defer();
$http.get('tpl/user.json').then(function(response){
deferred.resolve(response);
})
return deferred.promise;
}
}
}]);
app.controller('myCtrl',['userData','$scope',function(userData,$scope){
var pro = userData.query();
pro.then(function(response){
$scope.user = response.data;
$scope.name = response.data.name;
})
}]);
app.directive('myAdd',['userData',function(userData){
return {
restrict: 'A',
replace: false,
link: function(scope,ele,attrs){
console.log(scope.user);
}
}
}])
</script>
</head>
<body>
<div ng-controller="myCtrl">
<div my-add></div>
</div>
</body>
</html>
console.log(scope.user)显示undefined
魔法技巧: