我在应用程序中遇到了一个问题,因为我将EmberJS从1.6.1升级到1.8.1 。它仅在Chrome 下发生。问题是,我的模板在某种程度上被渲染,每个html节点周围都有很多额外的空间。所以说...而不是:
<div>
[tab]<span>Hello</span>
</div>
我得到了这样的东西:
<div>[ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ]<span>Hello</span>[ ][ ][ ][ ]
</div>[ ][ ][ ][ ]
或许你会在这里看到它:
这显然打破了造型。有趣的是,当我从这样奇怪的构造中移除至少一个空间时,神奇地给定部分的样式返回(即使其他空间仍然存在)。
提一下。 我正在使用ember-grunt-templates 0.4.21进行编译。我知道它有新版本(0.4.23我认为......)我也尝试更新它,但它没有帮助。
我知道这里有一个提及:http://emberjs.com/blog/2014/11/04/ember-1-8-1-released.html关于Chrome中的空白问题,但它说由于Chrome中的某些错误,人们会因缺少空格而产生相反的效果。 ;&GT;我的Chrome实例正在消耗并收集所有其他人的空白或什么? : - )
任何人遇到类似的问题(比如我的,不像Ember发行说明中提到的那个)?谁知道如何摆脱这个?
更新1:
我尝试更新为:
这解决了很少出现的空白问题,但有些仍然存在。即这导致渲染文本前面的空格:
<span class="someClass">
{{#if condition}}{{someProperty}}{{else}}{{t 'translationKey'}}{{/if}}
</span>
那不是:
<span class="someClass">{{#if condition}}{{someProperty}}{{else}}{{t 'translationKey'}}{{/if}}</span>
: - |
答案 0 :(得分:1)
原来是一个行结尾编码相关的bug。我在这里报告了这个问题: https://github.com/emberjs/ember.js/issues/9945
解决方案是确保行结束编码必须类似于Unix。