我有一個指令來顯示的gravatar像如下:指令不會刷新本身範圍變更
angular.module('ngGravatar').directive('gravatar', function(){
return {
restrict: 'E',
template: '<img ng-src={{gravatarUrl}}>',
scope: {email: '='},
controller: function($scope, md5){
var url = 'http://www.gravatar.com/avatar/';
$scope.gravatarUrl = url + md5.createHash($scope.email || '');
}
};
});
我用它在我看來,這樣的
<gravatar email="vm.email"></gravatar>
當視圖加載, vm.email
被異步更新,並且當其值的更新,該指令的gravatar不會自我更新和使用默認的標誌停留...
我怎樣才能使它自動更新?有$scope.$watch
?我認爲雙向數據綁定已經解決了這個問題。 有什麼我錯過了嗎?
'模板:「,'?另外,我認爲你想在'link'函數中使用散列碼,而不是'controller' ... –