Я разрабатываю приложение с большим интерфейсом в angularjs.AngularJS и javascript oop
Интересно, можно ли использовать этот подход в angularjs и, если есть дыры, проблемы с производительностью или другие недостатки.
первый код в контроллере
function ServiceHandler() {
var self = this;
self.init();
}
ServiceHandler.prototype = {
constructor : ServiceHandler,
request : undefined,
init : function(){
self.callService();
},
createRequest : function() {
self.request = {};
self.request = Service.getRequest();
},
callService : function() {
self.iAmLoading = true;
self.createRequest();
Service.callService(self.request).then(function(response) {
self.iAmLoading = false;
if (angular.isDefined(response) && angular.isDefined(response.data)) {
self.handleRequest(response);
}
}, function(error) {
self.handleSystemError(error);
});
},
handleRequest : function(response) {
if (angular.isUndefined(self.response)) {
self.response = {};
}
if (angular.isUndefined(response.data)) {
self.handleError(response);
}else {
self.response = response.data;
}
},
handleSytemError : function(error) {
// show 404
},
handleError : function(response) {
// think on what to do with your response
}
}
тогда я связан его с помощью метода контроллера инициализации
$scope.init(){
$scope.myServiceHandler = new ServiceHandler(); // in this manner i call the service first time because the constructor call the init method on my ServiceHandler object also
}
я связан его в DOM с
<div ng-controller="myController" ng-init="init()">
и в HTML я могу сослаться на мой ответ obect с:
{{myServiceHandler.response.myResponseProperty}}
и если я хочу боты для вызова к моей службы я могу сделать:
<button ng-click='myServiceHandler.callService()'></button>
Лично Я думаю, что преимущество этой структуры заключается в организации кода и что эта структура кажется более ориентированной на изобретение и более интересной для достижения
сообщите мне, что d вы думаете. спасибо и привет Антонио
PS - я пишу этот код на этот вопрос, я пишу это на лету, я думаю, что это работа, но я не 100%, конечно, это не проверял :) я писал другой Контролеры, подобные этому, сейчас находятся в производстве и, похоже, работают нормально.
PS2 - exuse меня за мой английский, я учусь сейчас, и у меня есть только 1500 XP на Duolingo сейчас :) :)
Этот вопрос кажется более подходящим для http://codereview.stackexchange.com/ –