У меня есть директива, которую я использую для того же фильтра поиска на нескольких страницах. Таким образом, директива будет использовать сервис и получить довольно здоровенный код. Из-за того, что я хочу, чтобы установить связь с контроллером, а не иметь контроллер внутри директивы, как это:Передать атрибут директивы в связанный контроллер?
.directive('searchDirective', function($rootScope) {
return {
restrict: 'E',
templateUrl:'searchtemplate.html',
controller: 'searchCtrl',
controllerAs: 'search'
};
});
Я также хочу доступ к родительской области данных внутри шаблона, так что я не хочу использовать изолированные объем.
В любом случае, вот что я не знаю, как это сделать. Моя директива выглядит следующим образом:
<search-directive filter="foo"/>
Как передать в значении атрибута фильтра, так что я могу получить доступ к нему в моем контроллере, используя $ scope.filter или this.filter?
Если бы я использовал изолированный объем, это было бы просто. Если бы у меня был контроллер на той же странице, я мог бы использовать $ attrs. Но поскольку я использую контроллер из другого места и не хочу изолированную область, я не уверен, как получить значения attrs в контроллере.
Любые предложения?
Это работало без меня необходимости создания изолированной сферы. Благодаря! –