我从Ember开始,只是关注tutorial。我从Ember.js网站下载了最后一个来源,我有以下代码:
HTML
<!doctype html>
<html>
<head>
<script src="js/libs/jquery-1.7.2.min.js"></script>
<script src="js/libs/ember-1.0.0-pre.2.min.js"></script>
<script src="js/libs/handlebars-1.0.0.beta.6.js"></script>
<script src="js/app.js"></script>
</head>
<script type="text/x-handlebars" data-template-name="application">
Test
</script>
</html>
app.js
App = Em.Application.create();
App.ApplicationView = Em.View.extend({
templateName: 'application'
});
App.ApplicationController = Em.Controller.extend();
App.Router = Em.Router.extend({
root: Em.Route.extend({
index: Em.Route.extend({
route: '/'
})
})
});
App.initialize();
这似乎是一个非常简单的例子,但我没有看到这两件事:
1)为什么ember的来源给我这个错误:
Uncaught TypeError: Object prototype may only be an Object or null
在余烬代码的第18行。
2)如果我定义了模板,为什么我一直收到这个未被捕获的错误:
Uncaught Error: <App.ApplicationView:ember143> - Unable to find template "application".
答案 0 :(得分:5)
尝试在把手之前放置应用程序模板。
<!doctype html>
<html>
<head>
<script type="text/x-handlebars" data-template-name="application">
Test
</script>
<script src="js/libs/jquery-1.7.2.min.js"></script>
<script src="js/libs/handlebars-1.0.0.beta.6.js"></script>
<script src="js/libs/ember-1.0.0-pre.2.min.js"></script>
<script src="js/app.js"></script>
</head>
</html>