【问题标题】:adding a slideshow to emberJS template page将幻灯片添加到 emberJS 模板页面
【发布时间】:2015-11-03 20:24:51
【问题描述】:

编辑:做了一些更多的挖掘,并且 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>

【问题讨论】:

    标签: javascript ember.js ember-cli flexslider


    【解决方案1】:

    我尝试使用 slick 插件,但遇到了问题。所以我创建了另一个包含 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' }
    ];
    

    【讨论】:

      【解决方案2】:

      您可以使用已经可以做到这一点的 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 插件做同样的事情。

      【讨论】:

      • 非常感谢!这正是我一直在寻找的,现在我将开始挖掘 ember-cli 插件,看看我是否可以节省时间并学习新事物。我的想法是否正确如果我想说,创建我自己的 jQuery 函数,我需要将它包装在一个组件中?
      • 通常当你想对一些 DOM 元素应用 jquery 函数时,你可以在组件的 didInsertElement 函数中进行。查看本教程:programwitherik.com/…
      • @BriscBogdan 我需要使用 asNavFor 选项我们如何将选项传递给滑块?
      猜你喜欢
      • 2013-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多