在一个角度指令中,我想获得一些样式(例如: backgroundImage )来存储它以备将来使用。我有以下代码:
angular.module('myApp')
.directive('myDirective', function() {
return {
restrict: 'A',
terminal: true,
link: function(scope, element, attrs) {
// examples of how get it
console.log(element.css('background-image'));
console.log(window.getComputedStyle(element[0]).backgroundImage);
}
};
});
大多数情况下,我成功获得 backgroundImage 值,但是我只获得 null 值。然后我刷新页面并再次成功获取值。如何在没有此问题的情况下从指令获取样式属性?
任何提示或建议都表示赞赏。感谢
答案 0 :(得分:0)
通过等待$viewContentLoaded
事件,您可以确保在加载所有内容后正在阅读CSS:
angular.module('myApp')
.directive('myDirective', function() {
return {
restrict: 'A',
terminal: true,
link: function(scope, element, attrs) {
scope.$on('$viewContentLoaded', function() {
console.log(element.css('background-image'));
console.log(window.getComputedStyle(element[0]).backgroundImage);
});
}
};
});