Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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);
			
		}
все начинает работать. в чем может быть причина. что я упустил
Ответить с цитированием
  #2 (permalink)  
Старый 16.10.2014, 11:34
Аватар для MetaDriver
Аспирант
Отправить личное сообщение для MetaDriver Посмотреть профиль Найти все сообщения от MetaDriver
 
Регистрация: 24.04.2014
Сообщений: 66

Сообщение от dramoturg Посмотреть сообщение
Всем привет. хотел на ангуляре написать небольшую директиву обвертку для fabricjs canvas http://fabricjs.com/. Директиву написал
Код:
...........
link: function(scope, element) {
			var c = new fabric.Canvas(scope.id);
			c.setWidth(scope.width);                         //  ??
			c.setHeight(scope.height);                       //  ??
		}
но почему то она не отрабатывает. ошибок никаких нету. но если в link
добавить timeout
Код:
..............
все начинает работать. в чем может быть причина. что я упустил
А где у тебя задаются значения scope.width и scope.height ?
Если ниже по коду, то и неудивительно.. Нужно чтобы на момент линковки они были определены и доступны.

Последний раз редактировалось MetaDriver, 20.10.2014 в 10:50.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AJAX навигация без якоря(Требуется помощ) Radik55rus AJAX и COMET 11 14.08.2014 10:34
Книгу без воды, обычным языком, с нуля до конца сразу с примерами понятную xcislav Учебные материалы 8 22.07.2014 15:20
событье onclick как вызвать без клика и без подозрений... Александр_1997 Events/DOM/Window 0 21.06.2014 17:38
Открытие нового окна без скролбаров без верхнего бара "файл правка вид и тп" Mara Общие вопросы Javascript 2 18.02.2010 15:11
Не отрабатывает событие onmouseout при внедрении нового слоя ilshat Элементы интерфейса 3 28.07.2008 06:27