Aurelia -事件加载/惰性加载图像
Aurelia - event load / "lazy load" images
我对Aurelia很陌生,但到目前为止我很喜欢。我想确保我是在用"奥蕾莉亚"的方式做这件事——我不会因为我的新平台蜘蛛感应™告诉我我做错了什么而错过什么。
现在我只是想改变一个图像onLoad
的类"动画,漂亮的加载,等等"…(客户端)
目前为止我的方法:
模板<template>
<div class="random" repeat.for="thumb of thumbs">
<img
alt="thumb.name"
src.bind-one-time="${server}/${thumb.uri}"
load.trigger="loaded(thumb)"
class.bind="thumb.loaded"
class="lazyload"
/>
</div>
</template>
视图模型import { HttpClient } from 'aurelia-fetch-client'
import environment from './environment'
export class App {
constructor() {
this.client = new HttpClient()
this.thumbs = []
this.loaded = t => { t.loaded = 'loaded' }
}
activate() {
return this.client.fetch(`${environment.api}/api`)
.then(response => response.json())
.then(data => {
this.data = data
this.thumbs = data.map(item => {
if (item.thumbnails)
return item.thumnails
)}
)}
}
}
这是经过删节的代码——试图保持内容清晰。在这种情况下,我可以告诉event.trigger
(相对于event.delegate
)是必要的,使用已经绑定的拇指数据可能是我最好的选择。
思想……?
在我看来你的这些还不错。这里有一些你可以尝试的调整,可能会使代码更流畅一些:
https://gist.run?id=251638547841a34746d9cbd874da14e2
app.html
<template>
<div repeat.for="thumb of thumbs">
<img
alt.one-time="thumb.name"
src.one-time="server + '/' + thumb.uri"
load.trigger="$event.target.classList.add('loaded') & oneTime"
class="thumbnail"
/>
</div>
</template>
app.js
export class App {
server = 'https://i.imgur.com';
thumbs = [
{ name: 'SpaceX', uri: 'xSraADG.jpg' },
{ name: 'SpaceX', uri: 'HSeX7Nn.jpg' },
];
}
相关文章:
- 如何在谷歌字体加载时显示加载图像
- 预加载图像并插入DOM
- 加载图像时加载图标
- 在页面启动期间加载图像
- 预加载图像image.onload脚本MVC
- 可以't在我的React组件中加载图像
- 加载图像后调整HTML画布的大小
- HTML/JS github页面项目没有't在使用firefox运行时加载图像或声音
- 错误:$injector:modulerr加载图像时模块处于角度
- 谷歌地图加载后隐藏加载图像
- 在照片查看器(Javascript和jQuery)中异步加载图像时可能出现错误
- 正在从字节数组加载图像内容
- 网页上已有tinymce加载图像列表
- 单击提交按钮后加载图像将冻结
- 如何使用Express'正确加载图像;s的静态中间件
- 使用jquery即时加载图像
- Html5画布使用JCanvasScript加载图像
- Javascript使用JCanvaScript在画布中加载图像
- 使用jquery/ajax显示加载图像
- ajax缓存false无法加载图像