为什么模板没有在此Ember应用程序中呈现?

时间:2013-01-03 05:47:38

标签: javascript ember.js handlebars.js

我正在尝试使用此处的文档来学习Ember:http://emberjs.com/guides/templates/handlebars-basics/

我正在关注该链接上给出的示例,因此具有以下两个文件和内容而没有其他内容。但是,当我进入浏览器并打开index.html时,我看不到Hello WorldWorld部分未显示。但是,根据该页面底部附近的说明,World应显示在页面上。

了解为什么这不起作用的任何帮助都会很棒。谢谢!

的index.html                             

<h2>First Ember Application</h2>

<script type="text/x-handlebars">
    Hello {{name}}.
</script>


  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.rc.1/handlebars.min.js"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/ember.js/1.0.0-pre.2/ember-1.0.0-pre.2.min.js"></script>
  <script src="app.js"></script>
</body>

</html>

app.js

window.App = Ember.Application.create();

App.ApplicationController = Ember.Controller.extend({
    name: "World"
});

1 个答案:

答案 0 :(得分:4)

您需要一个Ember.View将变量传递到模板并与模板连接。您可以设置控制器的上下文并让视图使用它作为其内容,但是对于您的简单示例:

window.App = Ember.Application.create();

App.ApplicationController = Ember.Controller.extend({});

App.ApplicationView = Ember.View.extend({
  templateName : 'application',
  name: 'World'
})

值得注意的是,Ember将使用“应用程序”命名约定来查找一组View,Controller和模板。 以下是完整小提琴http://jsfiddle.net/gNKJj/1/

的链接