2012-09-15 31 views
1

我刚开始来看看Ember.js时遇到与包含模板属性车把模板的问题:Ember.js/Handlebars.js错误解析在车把模板属性名

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" /> 
<script type="text/javascript" src="js/handlebars-1.0.0.beta.6.js" /> 
<script type="text/javascript" src="js/ember-1.0.pre.js" /> 
<script type="text/x-handlebars" data-template-name="say-hello"> 
    <p>First name: {{name.firstName}}</p> 
    <p>Last name: {{name.lastName}}</p> 
    <p>Last full: {{name.fullName}}</p> 

    <a href="#" {{action "edit" on="click"}}>Edit</a> 

</script> 
</head> 
<body> 
<h2>Hello World!</h2> 
</body> 
</html> 

我在Chrome中得到一个错误:

This page contains the following errors: 

error on line 14 at column 10: error parsing attribute name 
Below is a rendering of the page up to the first error. 

我也是在Firefox得到一个错误。

我想这是浏览器试图验证文件,有没有什么办法可以避免这种情况,仍然保持文档类型?

+0

嘿,我也是新来的。我认为这个错误与doctype没有任何关系。你在“say-hello”模板中有什么代码? – Aras

回答

0

它看起来像把手模板不是有效的xhtml。

tomcat与我的文件一起发送的内容类型是(application/xhtml + xml)。当您在文档上使用扩展名.xhtml时,会发生这种情况。

发生这种情况时,文档中的文档类型无效,文档中出现xhtml验证,并且无法加载。

在我的情况下,我想我可以预编译句柄模板,使其在xhtml中工作。

+0

XHTML是昨天。可能应该考虑继续没有它。 –

+0

有时我希望我可以,不幸的是我想嵌入一些遗留的网站,我不喜欢改变文档类型或改变从xhtml到html的一切。 – Bryn

0

我怀疑XHTML文档类型是问题。您是否尝试过使用HTML 5 doctype <!DOCTYPE html>

+0

对不起,新来堆栈溢出,我跑了我的字符限制的答复,请参阅下面的我的决议。 – Bryn