您好,感谢您点击我的问题。
我刚刚将我的应用程序升级到最新的 ember-cli 版本(2.3.0-beta.1
)现在我的一个(或多个)模板搞乱了构建。接下来的事情似乎是一个微不足道的问题,但我从来没有完全解决它,所以我终于问了。
正如标题所示,我之前有过<script>
我的模板中的标签用于一些小事情,例如一个小的 jQuery 条件append()
或任何可以通过 2 或 3 行代码完成的事情。我从来没有考虑过创建视图的足够动机,但与此同时,事情变得严肃起来。
那么,考虑到以下代码片段,保持其功能完整的推荐方法是什么?请不要介意这个特定代码片段背后的逻辑和动机,这只是一个例子:
<div class="container">
<div class="row">
<div class="col s12 valign-wrapper">
<img class="materialboxed radius left" width="100" src="/default_avatar.jpg" alt="" />
<h3>Welcome, Sarah Connor!</h3>
</div>
</div>
<div class="row">
<div class="col s12">
{{outlet}}
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('.materialboxed').materialbox();
});
</script>
任何不会打破现有(和预期?)惯例的事情都可以在这一点上进行。事实是,我一直在阅读有关这个主题的内容,但没有任何内容对此有明确的立场,再加上一些我怀疑避免使用的约定的快速技巧,因此我不会这样做。
我很清楚,对于 ember-cli 中的 2.x 版本来说,文档还很年轻,而且前面的路还很长。一旦我弄清楚自己该怎么做,我也许可以帮忙。
由于这是一个 50/50 真实问题和关于良好实践的讨论的问题,我也在考虑在 Discuss.emberjs 上发布,如果这样不会提出任何适用的解决方案/以更清晰的方式定义背后的概念。
您只需在index.html中导入js文件并调用materialbox()
那里。话虽这么说,Ember 的方法是创建包装材料盒库的组件。
{{materialbox-img src='/default_avatar.jpg' class='radius left'}}
import Ember from 'ember';
export default Ember.Component.extend({
tagName: 'img',
attributeBindings: ['src'],
didInsertElement() {
this.$().materialbox();
}
});
// this may not work as is, just example how it could be done
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)