2016-11-30 43 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); 
    }); 
}