我开始学习EmberJS,我在控制台中看到了这个错误:
Uncaught TypeError: Cannot call method 'proto' of undefined ember-1.0.pre.min.js:17
似乎只是通过包含库我得到了那个错误。有谁知道我为什么会这样做?
编辑:添加了HTML标记
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="description" content="">
<meta name="author" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="/favicon.ico">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="stylesheet" href="css/style.css?v=2">
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<script type="text/x-handlebars">
{{#view App.MyView}}
<h1>Hello world!</h1>
{{/view}}
</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="js/libs/jquery-1.7.2.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-1.0.pre.js"></script>
<script src="js/app.js"></script>
</body>
</html>
app.js
文件中还有这个JS:
var App = Em.Application.create();
App.MyView = Em.View.extend({
mouseDown: function() {
window.alert("hello world!");
}
});
但它已被删除,并且HTML中的所有模板部分也被删除了,我仍然遇到同样的错误(:
答案 0 :(得分:1)
每个Ember应用都应该有一个Ember.Application实例。这个 object将作为所有的全局可访问的命名空间 您应用中的其他类和实例
这里的关键是&#34;全球&#34;。这是一个应用程序示例:
window.App = Ember.Application.create();
您的问题是var
上的Application.create
- 关键字。删除它并添加Window
以使错误消失。