2017-01-06 4 views
2

ng-init、ng-mousover、ng-mouseoutを使用して、画像がng-repeat内で正しくレンダリングされない理由を調べるのに少し問題があります。Angular ng-repeat画像ホバーが動作しない

<div ng-repeat="item in product.items"> 
    <div ng-init="imgsrc='{{item.image01}}'" 
     ng-mouseover="imgsrc='{{item.image02}}'" 
     ng-mouseout="imgsrc='{{item.image01}}'"> 
     <img ng-src="{{imgsrc}}" /> 
    </div> 
</div> 

正しいパスはNG-INIT、NG-マウスオーバーおよびNG-マウスアウトの内部を描画しているが、<img>タグのみを用いて更新される{{item.image01}}と{{item.image02}}代わり実際の画像パスの

私はここで何が欠けていますか?

+1

'ng-mouseover =" imgsrc = item.image02 "' –

+0

私の答えをチェックしてください。あるいは、あなたの解決策に固執したい場合は、Alonからのコメントを試してみるか、一重引用符を削除してください。 – tomepejo

+1

問題を見つけたら、このタスクをCSSに切り替えることを本当に考えてください。これはそのような過剰です – azerafati

答えて

3

ng-initの中に必要のない変数に値を代入するには、中括弧を削除します。

<div ng-repeat="item in product.items"> 
    <div ng-init="imgsrc=item.image01" 
     ng-mouseover="imgsrc=item.image02" 
     ng-mouseout="imgsrc=item.image01"> 
     <img ng-src="{{imgsrc}}" /> 
    </div> 
</div> 
1

ng-initの値を割り当てても問題ありませんが、ng-moseouverng-mouseoutの値は同じになりません。

は彼らにそれを関数を作成して渡すようにしてください:

ng-mouseover="handleMouseover()" 
ng-mouseout="handleMouseout()" 

は、それに応じた方法の内のあなたの変数の値を更新します。

関連する問題