我正在尝试查看指令元素(指令本身)的宽度。在下面的演示中,我将元素样式设置为 100%,在真实世界的应用程序中,元素通过媒体查询调整大小。
这是我的方法: http://jsfiddle.net/fusio/5zgaj79b/
scope.$watch(
function() {
return element.width()
},
function(val) {
console.log(val)
},
true
);
.width()
没有改变吗?
最佳答案
它不触发的原因是,要调用第一个函数,必须触发摘要循环。怎么做?尝试将以下内容添加到您的 fiddle 中:
angular.module('HelloApp', ['components']).run(function($rootScope) {
$(window).on("resize", function() {
$rootScope.$apply();
});
});
对于实际场景,您可能希望将 $apply
的范围限制在特定范围内,以免引起不必要的观察者调用。
关于css - 如何查看元素的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25185734/