运行此示例'裸骨'自包含示例
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="http://cloud.github.com/downloads/wycats/handlebars.js/handlebars-1.0.0.beta.6.js"></script>
<script type="text/javascript" src="http://dl.dropbox.com/u/3024625/ember.js"></script>
<script type="text/javascript">
$(window).load(function(){
var App = Ember.Application.create({
ready: function() {
this.layout = App.ApplicationView.create();
this.layout.appendTo('body');
}
});
App.ApplicationView = Ember.View.extend({
template: Ember.Handlebars.compile('<h1>Application</h1>')
});
App.initialize();
});
</script>
<script type="text/x-handlebars" data-template-name="application">
test
</script>
</head>
<body>
</body>
</html>
给出这个输出:
<body class="ember-application">​
<div id="ember129" class="ember-view"><h1>Application</h1></div></body>
注意“—字符。看起来像编码问题,但在另一个设置中,这些字符采用在整个页面上方的新行的形式(这就是我注意到问题的原因)。
删除
<script type="text/x-handlebars" data-template-name="application">
test
</script>
行,让角色消失。
我对最新的Ember.js(主人)也有同样的问题,而且还有一个月前的版本。
其他人有这个问题吗?
答案 0 :(得分:5)
奇怪的是,看起来这是通过在提供的代码中第23行末尾尾随空字符来再现的。如果您将其删除,则可以使用未使用的模板application
。
我做了一些进一步的调查,看起来隐形字符是ZERO WIDTH SPACE
,请参阅http://www.ltg.ed.ac.uk/~richard/utf-8.cgi?input=%26%238203%3B&mode=char。