流星:图像上的 onRendered 事件可能吗?
Meteor: onRendered event on image possible?
我想检查图像是否已完全加载。所以我在带有图像的模板上使用 onRendered
:
模板
<template name="backgroundImage">
<img class="bg blur" src="{{image}}">
</template>
助手
Template.backgroundImage.helpers({
image: function() {
return '/images/background_1.jpg';
}
});
事件
Template.backgroundImage.onRendered(function() {
console.log('image loaded, start fadeOut on overlay');
});
我现在的问题是这是否真的有效? onRendered
是在图像加载时触发还是仅在加载 html 时触发?
我的目标是在图像完全加载后淡出带有加载动画的叠加层。用户应该在(!)图像加载后看到页面内容。
onRendered
只会在 HTML img
标签渲染到 DOM 之后触发,但不会等到图像实际完全加载后触发.
您可以使用 load
事件来检查:
Template.backgroundImage.events({
'load img'(event, template) {
console.log(template.$('img').prop('width'));
},
});
我想检查图像是否已完全加载。所以我在带有图像的模板上使用 onRendered
:
模板
<template name="backgroundImage">
<img class="bg blur" src="{{image}}">
</template>
助手
Template.backgroundImage.helpers({
image: function() {
return '/images/background_1.jpg';
}
});
事件
Template.backgroundImage.onRendered(function() {
console.log('image loaded, start fadeOut on overlay');
});
我现在的问题是这是否真的有效? onRendered
是在图像加载时触发还是仅在加载 html 时触发?
我的目标是在图像完全加载后淡出带有加载动画的叠加层。用户应该在(!)图像加载后看到页面内容。
onRendered
只会在 HTML img
标签渲染到 DOM 之后触发,但不会等到图像实际完全加载后触发.
您可以使用 load
事件来检查:
Template.backgroundImage.events({
'load img'(event, template) {
console.log(template.$('img').prop('width'));
},
});