@schurin
Люблю катать с гор, особенно на санках

Как в своей директиве, сделать атрибут который ловит изменения переменных?

Здравствуйте!

Делаю директиву, которая будет атрибутом, в которм значение атрибута в зависимости от пременной находящейся в $scope давало true/false. Так к примеру работает ng-class. У меня же в значение атрибута просто строка и при изменении переменной значение выражения не пресчитывается.

Директива:
define(['angular'], function(angular) {
	angular.module('ids.focus', []).directive('focus', function() {
		return {
			link: function($scope, element, attrs){
					console.log($scope.focus);
			},
			scope: {
				focus: '='
			}
		}
	});
});

Её назначение, давать фокус .
Использование:
<input type="text" ng-model="item.name" focus="item === editItem"/>

Item - текущий элемент, намножен с помощью ng-repeat
editItem - переменная в текущем $scope, в неё записывается редактируемый .
  • Вопрос задан
  • 500 просмотров
Решения вопроса 2
matroskin13
@matroskin13
JavaScript developer, GO developer
define(['angular'], function(angular) {
  angular.module('ids.focus', []).directive('focus', function() {
    return {
      link: function($scope, element, attrs){
          $scope.$watch('focus', function(){
              // тут делаете то что вам нужно при изменение переменной
          });
      },
      scope: {
        focus: '=focus'
      }
    }
  });
});


P.S тру пацаны юзают webpack или browserify
Ответ написан
Комментировать
AMar4enko
@AMar4enko
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы