angular.extend가 매개 변수가없는 함수를 평가하는 이상한 문제가 있습니다. 내 userData
팩토리가 내 applicationUserData
에서 확장되었지만, 최종 결과는 userData 팩토리의 my userData 객체에 실제 값이 needsTraining
및 showWelcomeText
인 것입니다. setUserData(appbaseUserData)
기능은 여전히 기능으로 표시됩니다. 왜 그런지 아십니까?Angular.extend 매개 변수가없는 함수를 평가
application.factory('applicationUserData', [function(){
var userData;
return {
setUserData: function(appbaseUserData){
userData = appbaseUserData;
},
needsTraining: function(){
userData.ensureUserDataInitialized();
return userData.needsTraining;
},
showWelcomeText: function(){
userData.ensureUserDataInitialized();
return userData.showWelcomeText;
}
}
}]);
appBaseModule.factory("userData", ["applicationUserData", function(applicationUserData) {
var userData = {},
userDataInitialized = false;
userData.init = function(data) {
applicationUserData.setUserData(userData);
angular.extend(userData, applicationUserData, data);
userDataInitialized = true;
};
....
return userData;
}]);
뭔가 틀린 데이터 여야합니다. 'angular.extend'는 [jsfiddle] (http://jsfiddle.net/bateast/CQwNq/)에서 잘하고 있습니다. –