Показать сообщение отдельно
  #1 (permalink)  
Старый 03.10.2014, 17:38
Новичок на форуме
Отправить личное сообщение для dramoturg Посмотреть профиль Найти все сообщения от dramoturg
 
Регистрация: 25.02.2014
Сообщений: 2

Директива не отрабатывает без таймаута.
Всем привет. хотел на ангуляре написать небольшую директиву обвертку для fabricjs canvas http://fabricjs.com/. Директиву написал
Код:
App.directive('tFabric', function($rootScope){
	return {
		restrict: 'A',
		replace: true,
		template: '<canvas id="{{id}}"></canvas>',
		scope: {
			id: '@tFabric',
			width: '@width',
			height: '@height'
		},
		link: function(scope, element) {
			var c = new fabric.Canvas(scope.id);
			c.setWidth(scope.width);
			c.setHeight(scope.height);
		}
	};
});
но почему то она не отрабатывает. ошибок никаких нету. но если в link
добавить timeout
Код:
link: function(scope, element) {
			setTimeout(function(){
				var c = new fabric.Canvas(scope.id);
				c.setWidth(scope.width);
				c.setHeight(scope.height);
			},100);
			
		}
все начинает работать. в чем может быть причина. что я упустил
Ответить с цитированием