0
나는 하루 중 시간에 따라 사용자를 접하게하는 간단한 Angular JS 코드를 작성했습니다. 그것은 잘 작동합니다. 당신이 showGreetingMessage
기능을 볼 경우는 단 한 줄의 코드 만 가지고Angular JS 객체 스코프
var modSvc = angular.module("appName",[]);
modSvc.provider("date",function(){
var greeting;
return {
showGreeting:function(value){
greeting = value;
},
$get:function(){
//it has to return an object which can have variables and functions
return {
showDate:function(){
var date = new Date();
return date.getHours();
},
showGreetingMessage:function(){
//var date = new Date();
return greeting + ", It's "+ this.showDate();
}
}
}
};
});
modSvc.config(function(dateProvider){
var hours = dateProvider.$get().showDate();
if(hours<12)
dateProvider.showGreeting("Good morning!");
else if(hours<17)
dateProvider.showGreeting("Good afternoon!");
else if(hours<22)
dateProvider.showGreeting("Good evening!");
else
dateProvider.showGreeting("Good night!");
});
function serviceController($scope,date){
$scope.greetingMessage = date.showGreetingMessage();
}
modSvc.controller("svcController",serviceController);
:
return greeting + ", It's "+ this.showDate();
그러나 showDate
기능은 showGreetingMessage
기능과 동일한 수준에서 상주를 코드는 아래와 같습니다. 그렇기 때문에 this.showDate
은 작동하지 않아야하며 오류가 발생해야합니다. 하지만 완벽하게 잘 작동합니다. 그것은 어때?