2016-11-30 8 views
0

私はこのような単純な画像のディレクティブがあります。私が必要とするのは、ディレクティブ内の画像のsrc属性を取得することですが、私は行う方法を見つけることができないようディレクティブ内でイメージソース属性を取得する方法は?

(function() { 
    'use strict';  
    angular 
     .module('myapp') 
     .directive('imageTest', imageTest); 
    function imageTest() { 
     var directive = { 
      'link': link, 
      'restrict': 'A', 
      'scope': {} 
     }; 

     return directive; 
    } 

    function link($scope, element) { 
     var src = element.src; 
     console.log(src) => undefined 
     // code to modify src 
    } 

})(); 

HTML

<img id="image" ng-src="{{myImg.url}}" image-test/> 

をそれ。誰もそれについて私を助けることができますか?どうもありがとう!

+0

「要素」をログに記録すると、console.logには何が表示されますか?を見せていただけますか? – Jekk

+0

「element.src」に「element」が返されている可能性があるかどうかを確認してください。「element」パラメータがリンク関数「link」に渡されていないように見えます。リンク: – GraveyardQueen

+0

私はこれがどれほど正しいか分かりませんが、時々$タイムアウトを使用して値を確認することになります – amd

答えて

1

属性には、ディレクティブのインスタンス化後に評価される式があります。 $ observeを使用して値を取得することができます。

function link($scope, element, attrs) { 
    attrs.$observe('ngSrc', function(url) { 
     console.log(url); 
    }); 
} 
関連する問題