2016-11-30 44 views
0

我有一個簡單圖像的指令是這樣的:如何在指令中獲取圖像源屬性?

(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/> 

所有我需要的是讓該指令內圖片src屬性,但我似乎無法找出如何做它。任何人都可以幫助我嗎?非常感謝!

+0

什麼顯示console.log時,當你只是登錄'元素'?我可以看嗎? – Jekk

+0

請檢查您是否正在獲取可能返回undefined的「element.src」中的「元素」,因爲您似乎沒有將「元素」參數傳遞到此處的鏈接函數中。「link」:link「 – GraveyardQueen

+0

我不知道這是多少正確的,但有時我會使用$超時並檢查值 – amd

回答

1

在屬性中有一個表達式,它將在實例化該指令後進行評估。您可以使用$ observe獲取值:

function link($scope, element, attrs) { 
    attrs.$observe('ngSrc', function(url) { 
     console.log(url); 
    }); 
}