//index.html
<html>
<head>
<title>An Ember dice roller</title>
</head>
<body>
<script type="text/javascript" src="C:/Users/Guest/Downloads/ember/starter-kit-1.0.0/js/libs/jquery-1.9.1.js"></script>
<script type="text/javascript" src="C:/Users/Guest/Downloads/ember/starter-kit-1.0.0/js/libs/handlebars-1.0.0.js"></script>
<script type="text/javascript" src="C:/Users/Guest/Downloads/ember/starter-kit-1.0.0/js/libs/ember-1.0.0.js"></script>
<script type="text/javascript" src="C:/Users/Guest/Downloads/ember/starter-kit-1.0.0/js/app.js"></script>
<script type="text/x-handlebars" >
<h1>Dice Roller</h1>
{{#link-to 'roll'}}Click here{{/link-to}}
{{#link-to 'index'}}Go to index{{/link-to}}
{{outlet}}
</script>
<script type="text/x-handlebars" id="roll">
Hi!
</script>
<script type="text/x-handlebars" id="index">
<p>
Our content goes here
</p>
</script>
</body>
</html>
//app.js
var Roller = Ember.Application.create({
LOG_TRANSITIONS: true,
LOG_BINDINGS: true,
LOG_VIEW_LOOKUPS: true,
LOG_STACKTRACE_ON_DEPRECATION: true,
LOG_VERSION: true,
debugMode: true
});
Roller.Router.map(function () {
this.resource('index');
this.resource('roll');
});
这段代码有什么问题? 我收到以下错误。我的index.html页面没有加载任何内容。 我是ember.js的初学者。有人可以帮帮我吗? 断言失败:URL'/'确实匹配应用程序中的任何路由
答案 0 :(得分:0)
默认情况下,ember会创建如下内容:
Roller.Router.map(function () {
this.route('index', { path: '/' });
});
但是你的路由器正在覆盖索引路由:
this.resource('index');
因此,为了能够呈现索引模板,您需要使用http://yourhost/#/index
整数http://yourhost/
来访问您的应用。
如果您更新路由器映射,并删除the this.resource('index')
,则一切正常:
Roller.Router.map(function () {
this.resource('roll');
});
这是一个更新的jsbin,其工作正常http://jsbin.com/ucanam/1499/edit