在Ember中,我应该将我的主题布局放在application.hbs或index.html中吗?

时间:2015-08-26 16:28:22

标签: ember.js ember-cli

我开始使用ember-cli开发Ember js,我想迁移用html,jquery和css编写的现有代码。我不确定它是否最好将它放在index.html或application.hbs中?

2 个答案:

答案 0 :(得分:3)

可能是您的IF MY DB Value is THIS : Change my Form value, ID, Name to XXX ELSE: Change my Form value, ID, Name to YYY. 文件。如the Ember CLI guide中所述,application.hbs文件主要用于插件注入脚本。你不需要走那条路。您可以使用Broccoli资产管道管理旧版Javascript和CSS,并且可以将任何旧版/通用HTML放在index.html文件中。

答案 1 :(得分:2)

最好将代码放在application.hbs中,但需要放入<head>代码的代码除外。

您可以在index.html中看到HTMLBars表达式:

{{content-for 'body'}}

这是您生成的HTML应用程序代码的放置位置,但首先,它包含在ember包装器div中,在其中处理您的应用程序事件。

想象一下,你已将其中一个div放入index.html - 让我们称之为.main-div,然后 - 在application.hbs - 你已经放置了具有一些Ember逻辑的代码(所以你也不能把它放在index.html中。现在,假设你编写CSS代码来定位.main-div的一个孩子。你在CSS中将它定位为这样:.main-div > .dynamic-div,但它不起作用。为什么? Ember在其div中包含了application.hbs的内容,并且它的级别为一级。这就是为什么将应用程序HTML代码放在index.html中会违背开发人员的直觉 - 如果你忘记你有一层更多的Ember代码就会咬你,即使你在编辑器中看到它应该是直的:{{ 1}}。

Ember.js包装器div的示例:

.main-div > .dynamic-div