emberjs模板中的Jquery插件

时间:2014-11-24 16:59:02

标签: javascript jquery templates ember.js

您好我正在尝试使用ember.js和feedek制作一个简单的Feed阅读器。但到目前为止,当我尝试放置Feed的代码时,它无效。

feedek的jquery代码(在脚本标记中的索引模板内):

$('#divRss').FeedEk({
    FeedUrl: 'http://vikinglogue.com/feed/',
    MaxCount: 100
});

模板的Html代码:

<script data-template-name="index" type="text/x-handlebars">
    <article style="background-color:#fff;" id="divRss"></article>
</script>

当我在浏览器中运行此代码时,模板中没有任何内容显示,我没有收到任何错误。我认为问题是由于没有在模板中链接feedek引起的,但是当我尝试它时,没有任何反应。谢谢,任何帮助都是适当的。

2 个答案:

答案 0 :(得分:1)

要在Ember应用程序中使用jQuery插件,通常最好将其包装在component中:

App.FeedEkComponent = Ember.Component.extend({
  tagName: 'article',

  didInsertElement: function() {
    this.$().FeedEk({
      FeedUrl: 'http://vikinglogue.com/feed/',
      MaxCount: 100
    });
  }
});

然后在你的一个Handlebars模板中

<p>Your feed:</p>
{{feed-ek}}

答案 1 :(得分:1)

我想补充Sam的优秀答案如下:

  1. 通过将url作为属性传递来使组件可重用

  2. 不要覆盖didInsertElement挂钩,而是指定该函数应该在'didInsertElement'事件上运行(参见here

  3. http://emberjs.jsbin.com/boguwagisi/1/edit?html,js,output