我正在尝试理解ember.js的基本概念以及整个模板/视图内容如何协同工作(以及一些最佳实践),但是,我真的有问题找到我的问题的答案......所以也许,你们中的一个可以帮助我......
"Getting started"说:“您可以使用Ember.View呈现Handlebars模板并将其插入DOM”,并建议使用view.append()。我下载到入门套件,有一个模板,一个视图,它显示没有view.append()。为什么呢?
我尝试使用占位符{{message}}扩展模板,为视图添加了一个具有相同名称的属性,并为其分配了值,但未呈现。为什么呢?
有人可以为我带来一些启示......非常感谢提前。链接和良好的Stackoverflow线程是非常受欢迎的。
一些代码示例:
的index.html:
<script type="text/x-handlebars" data-template-name="application">
<h1>Hello from Ember.js</h1>
</script>
app.js
App.ApplicationView = Ember.View.extend({
templateName: 'application',
message : 'Hallo Du'
});
如果我将'application'更改为'application_',它仍会被渲染......那么,为什么要定义模板名称?
祝你好运 彼得
答案 0 :(得分: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/