0

我正在尝试了解 ember.js 的基本概念以及整个模板/视图如何协同工作(以及一些最佳实践),但是,我真的很难找到我的问题的答案......所以,也许,你们中的一个可以帮助我...

  1. “入门”说:“您可以使用 Ember.View 呈现 Handlebars 模板并将其插入 DOM”,并建议使用 view.append()。我下载到入门工具包,有一个模板,一个视图,它在没有 view.append() 的情况下显示。为什么?

  2. 我尝试使用占位符 {{ message }} 扩展模板,向视图添加了一个同名的属性,并分配了一个值,但它没有呈现。为什么?

有人可以给我带来一些光明吗...在此先感谢您。非常欢迎链接和良好的 Stackoverflow 线程。

一些代码示例:

索引.html:

<script type="text/x-handlebars" data-template-name="application">
<h1>Hello from Ember.js</h1>
</script>

应用程序.js

App.ApplicationView = Ember.View.extend({
  templateName: 'application',
  message : 'Hallo Du'
});

如果我将“应用程序”更改为“应用程序_”,它仍然会被渲染......那么,为什么我要定义一个模板名称?

最好的问候彼得

4

1 回答 1

4

就像我在评论中所说,在 Ember 1.0pre(和更新版本)中,要显示您必须执行的视图属性/属性{{view.YourAttributeName}},因此您必须{{view.message}}在您的车把模板中使用用户。所以这就是你必须在你的js中做的事情:

App = null;

$(function() {

    App = Em.Application.create();

    App.ApplicationView = Ember.View.extend({
      templateName: 'application',
      message : 'Hallo Du'
    });
})

这是带有模板的 html 页面:

<body>

    <script type="text/x-handlebars">
        <h1>Hello from Ember.js</h1>
         {{view.message}}
    </script>

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js" ></script>
    <script type="text/javascript" src="http://cloud.github.com/downloads/wycats/handlebars.js/handlebars-1.0.rc.1.js" ></script>
    <script type="text/javascript" src="http://cloud.github.com/downloads/emberjs/ember.js/ember-latest.js" ></script>
</body>​

使用上面的代码检查这个非常基本的小提琴:http: //jsfiddle.net/schawaska/MwXjG/

于 2012-11-16T16:11:43.860 回答