我们理论上需要在另一个ember小部件中运行一个ember小部件。这可能吗?将嵌套的ember小部件确定为与其父工作不同的dom元素?
我们的想法是,我们可能需要将ember小部件嵌入到也运行ember的客户网站上。
谢谢!
答案 0 :(得分:0)
我不确定是否正确理解您,但如果您需要具有可以跨应用程序分发和重用的单独组件,那么您肯定可以拥有它们。虽然我不确定我是否正确,因为你似乎在谈论2个不同的问题(嵌套小部件和分发ember小部件作为其他ember应用程序的第三方......)
如果您需要更多详细信息,请使用fiddle on how to make an external component并重复使用。如果这有帮助,请告诉我。
组件:
var GravatarImageComponent = Ember.Component.extend({
size: 200,
email: '',
gravatarUrl: function () {
var email = this.get('email'),
size = this.get('size');
return 'http://www.gravatar.com/avatar/' + CryptoJS.MD5(email) + '?s=' + size;
}.property('email', 'size')
});
Ember.Application.initializer({
name: "gravatar-image-component",
initialize: function(container, application) {
container.register('component:gravatar-image', GravatarImageComponent);
}
});
将其付诸实践的HTML:
<script type="text/x-handlebars">
<ul class="example-gravatar">
<li>{{gravatar-image email="tomster@emberjs.com" size="200"}}</li>
<li>{{gravatar-image size="200"}}</li>
</ul>
</script>
<script type="text/x-handlebars" id="components/gravatar-image">
<img {{bind-attr src=gravatarUrl}}>
<div class="email-input">
{{input type="email" value=email placeholder="tomster@emberjs.com for instance"}}
</div>
</script>