index.html 片段:
<img ng-src="{{ImageURL}}" my-image/>
应用程序.js:
var app = angular.module('plunker', []);
app.controller('MyCtl', function($scope) {
$scope.ImageURL = "";
$scope.ImgWidth = 0;
$scope.setImgSrc = function(imgURL) {
$scope.ImageURL = imgURL;
};
$scope.setImgSrc('http://angularjs.org/img/AngularJS-large.png');
});
app.directive('myImage', [function() {
return function(scope, elm, attrs) {
scope.$watch(elm.width(), function(newValue, oldValue) {
scope.ImgWidth = newValue; // always returns 0!
});
};
}]);
这是笨拙的。img
更改时如何在自定义指令中获取元素的新尺寸ngSrc
?我有一种我没有正确调用的感觉scope.$watch
。