编辑:进行了一些挖掘并且emberJS不允许内联脚本执行。我将如何创建幻灯片?我是否创建了一个组件?
我刚刚开始使用emberJS。我按照Ember网站上的指南进行了观察并在这里学习,但我发现自己有点死路一条,我需要你的帮助!
情况如下: 我想在我的一个模板中添加幻灯片。现在,尽我所能,我已经使用'BOWER INSTALL'添加了幻灯片.js和.css,然后编辑了我的'ember-cli-build.js'以引用这两个依赖项的app.import。
这是一个基本的网页,例如“关于我”,“服务”,“联系我们”。没有什么花哨。假设我想将此幻灯片添加到“服务”页面,首先当我访问网站时它加载没有任何问题但是当我使用{{#link-to}}功能在模板/页面之间切换时它会消失并赢得再加载。
任何人都可以解释我应该如何在模板上添加内联脚本?
对不起初学者的问题。
为了让我能够运行幻灯片放映,我需要在页面上的DOM元素之后执行以下脚本。
<script type="text/javascript">
$(window).load(function() {
$('.flexslider').flexslider();
});
</script>
HTML如下:
<div class="flexslider">
<ul class="slides">
<li>
<img src="http://placehold.it/350x150/0889d8/000000" />
</li>
<li>
<img src="http://placehold.it/350x150/c1a4f0/ffffff" />
</li>
<li>
<img src="http://placehold.it/350x150/8b4513/000000" />
</li>
</ul>
</div>
答案 0 :(得分:3)
您可以使用已经执行此操作的ember插件:ember-cli-slick
使用以下方式安装:
ember install ember-cli-slick
您可以在模板中使用它,如下所示:
{{#slick-slider autoplay=true arrows=false}}
<div class="box"> <img src="https://static2.businessinsider.com/image/4f3433986bb3f7b67a00003c/a-parasite-found-in-cats-could-be-manipulating-our-brains.jpg"> </div>
<div class="box"> <img src="https://static2.businessinsider.com/image/4f3433986bb3f7b67a00003c/a-parasite-found-in-cats-could-be-manipulating-our-brains.jpg"> </div>
<div class="box"> <img src="https://static2.businessinsider.com/image/4f3433986bb3f7b67a00003c/a-parasite-found-in-cats-could-be-manipulating-our-brains.jpg"> </div>
<div class="box"> <img src="https://static2.businessinsider.com/image/4f3433986bb3f7b67a00003c/a-parasite-found-in-cats-could-be-manipulating-our-brains.jpg"> </div>
{{/slick-slider}}
如果您想了解如何制作幻灯片组件,请查看源代码: https://github.com/laantorchaweb/ember-cli-slick/blob/master/addon/components/slick-slider.js
这只是slick.js插件的包装组件。你会对flexslider插件做同样的事情。
答案 1 :(得分:3)
我尝试使用光滑的插件,但遇到了问题。所以我创建了另一个包含jquery unslider插件的ember插件。查看ember-cli-unslider。
请参阅simple demo。
un-slider
组件需要一系列幻灯片。在其块中,您必须定义用于每张幻灯片的HTML内容。
{{#un-slider slides=model as |slide|}}
<img src="{{slide.url}}"/>
{{/un-slider}}
在上面的示例中,model
可能如下所示:
[
{ url: 'https://placeholdit.imgix.net/~text?txtsize=33&txt=slide 1&w=600&h=400' },
{ url: 'https://placeholdit.imgix.net/~text?txtsize=33&txt=slide 2&w=600&h=400' },
{ url: 'https://placeholdit.imgix.net/~text?txtsize=33&txt=slide 3&w=600&h=400' }
];