2017-12-08 11 views
0

Iは、固有のIDマッチIDと要素のNG-のMouseEnter変更境界線の色に

event.img = angular.element(` 
     <div class= "your-container"> 
     <img src="${getDartImage(event)}" 
       ng-mouseenter="$ctrl.clicker(${event.id})" class="dart"> 
     </div>`); 
event.img = $compile(event.img)($scope); 

を有する一方のコントローラで生成されたダーツ画像を有するIはまた、別のコントローラで生成されたDIVを有します一意のIDも持っています。

<scheduled-event   
    event="event" 
    ng-repeat="event in $ctrl.adherence.events" 
    ng-mouseenter="$ctrl.clicker1($ctrl.adherence.events[$index].id)"> 
</scheduled-event> 

私は、これらのIDを一致させたいと私は一つの要素にNG-mouseeenterを行う際に、ダーツ、divのボーダー言うことができます - 一致するidの変化で色を。

答えて

1

ng-classの助けを借りてこれを行うことができます。要素を入力するときには、マウスセンター関数をトリガーし、選択したIDにフラグを設定し、入力されたIDがフラグに設定されているIDと同じであるかどうかを確認します。

HTML

<scheduled-event 

    event="event" 
    ng-repeat="event in $ctrl.adherence.events" 
    ng-mouseenter="$ctrl.clicker1($ctrl.adherence.events[$index].id)" 
    ng-class="{'bd-col':$ctrl.selectedId==$ctrl.adherence.events[$index].id}"> 

</scheduled-event> 

JS

this.clicker1=function(id){ 
    this.selectedId=id; 
} 

CSS

.bd-col{ 
border-color: #444; 
} 
+0

私もダーツ要素の境界線の色を変更することができます誰が私他のコントローラでは? –

+0

はい、その場合は、両方のコントローラに共通の共有変数を使用するか、サービスを使用して値を設定する必要があります。参考までにhttps://stackoverflow.com/questions/22584342/how-to-share-the-scope-variable-of-one-controller-with-another-in-angularjs – Vivz

+0

私は変数を共有するためにrootScopeを使用できますか? –

関連する問題