AngularJS базовый шаблон
Запись от 25.09.2016
Для решения простых задач ангуляр можно использовать и без специальных сборщиков вроде webpack, grunt и т.п.
Под простые задачи можно отнести гаджеты рабочего стола bitrix.
Вот собственно сам набросок кода для работы с контроллерами:
Под простые задачи можно отнести гаджеты рабочего стола bitrix.
Вот собственно сам набросок кода для работы с контроллерами:
/* global this, angular, bind */
// =============================================================================
// === СЕРВИС ==================================================================
// =============================================================================
var Service = function($rootScope, $http, $timeout) {
this.$scope = $rootScope;
this.$http = $http;
this.$timeout = $timeout;
};
// =============================================================================
// === КОНТРОЛЛЕР ==============================================================
// =============================================================================
var MyCtrl = function($scope, $element, service, $timeout) {
this.$scope = $scope;
this.$element = $element;
this.service = service;
this.$timeout = $timeout;
// Параметры объекта
this.$scope.myParam = {};
// Методы
this.$scope.myFunc = {};
// События
// ...
};
// =============================================================================
// === ИНИЦИАЛИЗАЦИЯ ===========================================================
// =============================================================================
angular.module('myApp', [])
.factory('Service', [
'$rootScope', '$http', '$timeout',
function ($rootScope, $http, $timeout) {
return new Service($rootScope, $http, $timeout);
}
])
.controller('MyCtrl', ['$scope', '$element', 'Service', '$timeout', MyCtrl])
;
Чем мне нравится ангуляр, так это удобным и понятным оформлением кода - всё можно разложить по полочкам. Общение с бекендом по аяксу - через сервис, взаимодествие с DOM - контроллеры (можно и директивы использовать, но не всегда они уместны), а вызов действий и работа с элементами DOM никак не завязана на классах (привет, jQuery), что на самом деле очень удобно!