我目前正在尝试学习ember.js框架。我有一个非常简单的应用程序,使用starterkit作为起点。
app.js文件包含:
// Application
var App = Em.Application.create();
// Models
App.Person = Ember.Object.extend({
fName: null,
surname: null
});
// Controller
App.personController = Ember.ArrayController.create({
content: [],
init: function(){
// create an instance of the person model
var person = App.Person.create({
fName: 'Fred',
surname: 'Bloggs'
});
this.pushObject(person);
}
});
我的index.html
基于默认的锅炉板:
<body>
<script type="text/x-handlebars">
{{#each App.personController}}
<p>{{fName}} {{surname}}</p>
{{/each}}
</script>
<!-- The missing protocol means that it will match the current protocol, either http or https. If running locally, we use the local jQuery. -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.7.2.min.js"><\/script>')</script>
<script src="js/libs/handlebars-1.0.0.beta.6.js"></script>
<script src="js/libs/ember-0.9.8.1.min.js"></script>
<script src="js/app.js"></script>
</body>
当我在浏览器中检查时,我看到没有js错误,渲染的html显示把手正在渲染,但没有内容。
<div id="ember163" class="ember-view">
<script id="metamorph-0-start" type="text/x-placeholder"></script><script id="metamorph-0-end" type="text/x-placeholder"></script>
</div>
非常感谢任何帮助或解释为什么没有呈现任何内容。我原以为init函数会渲染一个用户
此致
马丁
答案 0 :(得分:1)
您需要在声明var person之前调用this._super()
。
答案 1 :(得分:1)