Я ищу передать переменную из контроллера в директиве я создал:Угловой: Pass переменной директиве
HTML
<div class="dropup inline-block" ng-repeat="event in video.events">
<event video="video"></event>
</div>
ДИРЕКТИВА
.directive("event", function() {
return {
restrict: "E",
replace: true,
scope:{
video: '=videoObject'
},
template: '<a class="btn btn-default event-margin" ng-style="{color: video.iconColor, float: floatEvents}" type="button" data-title="{{event.title}}"><span class="fa fa-fw {{event.icon}}"></span></a>',
link: function(scope, elm, attrs) {
elm
.on('mouseenter', function() {
elm.css('background-color', scope.video.color);
elm.css('color','#FFFFFF');
})
.on('mouseleave', function() {
elm.css('background-color','#FFFFFF');
elm.css('color', scope.video.color);
});
}
};
Проблема заключается в том, когда я добавляю область в возвращаемом dict атрибут перестает работать.
Итак, идея состоит в том, чтобы изменить цвет элемента при передаче мыши на элементе со значением video.color, переменной в $ scope контроллера.
Я искал ответ на другие должности, но они не работают:
- Passing variable from controller scope to directive
- Easiest way to pass an AngularJS scope variable from directive to controller?
Вам необходимо использовать 'scope: {video: '='}' в своем коде, который будет искать атрибут «видео-объект». – jcubic
Вы также можете использовать область действия: {video: '= video'} – Knu8
Это не работает, я протестировал это, но я не знаю, почему не работает – albert