Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   Не работает директива (https://javascript.ru/forum/angular/50818-ne-rabotaet-direktiva.html)

Stalkerok 12.10.2014 19:26

Не работает директива
 
День добрый, делаю небольшее CRUD приложение,

подскажите как заставить работать директиву loading при вызове контроллера

и конечно это будет не в тему вопроса но всёже, как вывести шаблон формы и загрузить в неё данные?


var baseapp = angular.module('baseApp', [])

baseapp.directive('loading', function () {
	return {
		restrict: 'E',
		replace: true,
		template: '<div class="loading">Загрузка</div>',
		link: function (scope, element, attr) {
			scope.$watch('loading', function (val) {
				if (val) {
					element.addClass('show');
					alert('show');
				} else {
					element.addClass('hide');
					alert('hide');
				}
			});
		}
	}
});

baseapp.controller ('ListCtrl', function ($scope, $http) {
	$scope.loading = true;
	$http.get('/blog').success(function(data) {
		$scope.users = data;
	});
});

baseapp.controller ('AddCtrl', function($scope, $http, $location) {
	$scope.master = {};
	$scope.activePath = null;
	$scope.add_new = function(user, AddNewForm) {
		$http.post('/blog', user).success(function(){
			$scope.reset();
			$scope.activePath = $location.path('/');
		});
		$scope.reset = function() {
			$scope.user = angular.copy($scope.master);
		};
		$scope.reset();
	};
});

baseapp.config(['$routeProvider', function($routeProvider) {
	$routeProvider.
		when('/', {
			templateUrl: '/assets/blog/lists.html',
			controller: 'ListCtrl',
			directives: 'loading'
		}).
		when('/add-user', {
			templateUrl: '/assets/blog/add.html',
			controller: 'AddCtrl',
			directives: 'loading'
		}).
		otherwise({redirectTo: '/'});
}]);


Часовой пояс GMT +3, время: 15:49.