rss*_*ncs 3 meteor iron-router slick.js
我正在使用铁路由器,我有一个路线"模型",其中有一个项目列表.当用户单击其中一个项目时,将使用新的路径"模型",所选项目的名称将作为参数传递,并用于从数据库加载有关该模型的数据.
我想使用光滑的轮播,使用从数据库返回的图像数组(基于参数).
<div id="carousel">
{{#each images}}
<div class="item">
<img src="/images/{{this}}" alt="">
</div>
{{/each}}
</div>
Run Code Online (Sandbox Code Playgroud)
我应该在哪里调用光滑的init?
一般来说,您应该在模板的onRendered回调中初始化插件.在您的情况下,这将无法工作,因为在onRendered将任何图像插入DOM之前将触发.通过我见过的其他旋转木马插件,以下策略可行:
carouselItem).onRendered回调,carouselItem以便在将每个项添加到DOM后初始化插件.我没有尝试使用光滑的旋转木马,但它看起来像这样:
<template name="carousel">
<div id="carousel">
{{#each images}}
{{> carouselItem}}
{{/each}}
</div>
</template>
<template name="carouselItem">
<div class="item">
<img src="/images/{{this}}">
</div>
</template>
Run Code Online (Sandbox Code Playgroud)
Template.carouselItem.onRendered(function() {
$('#carousel').slick();
});
Run Code Online (Sandbox Code Playgroud)
假设光滑的轮播可以多次初始化,这种方法应该有效.请注意,一个可能的缺点是插件会在更新时images刷新.解决这个问题的一种方法是{reactive: false}在查找中使用该选项.
| 归档时间: |
|
| 查看次数: |
690 次 |
| 最近记录: |