尝试用EmberJS做一些相对基本的客户端设置和一个小型Rails应用程序。我至今两件事情:EmberJS Uncaught TypeError:Object [object Object]没有方法'创建'
- 一种形式张贴一本书的销售(不实际创建它尚未)
- 书籍页的搜索。 (也希望这是主页)。
第一个加载正常。当我单击应用程序模板中的链接时,表单按预期加载。
但是第二个没有。当我点击链接查看搜索页面时,弹出主题错误。下面的代码我到目前为止:
<script type="text/x-handlebars">
<div class="nav">
{{#linkTo "index_search"}}Home{{/linkTo}}
{{#linkTo sale_records.new}}Post a book for sale{{/linkTo}}
</div>
<div class="container">
{{outlet}}
</div>
</script>
的Javascript:
// router.js
(function() {
LocalBookFinder.Router.map(function() {
this.resource("sale_records", { path: "/sale_records" }, function() {
this.route('new');
});
this.route("index_search", { path: "/search" });
});
LocalBookFinder.NewSalesRecordRoute = Ember.Route.extend({
model: function() {
return new LocalBookFinder.SaleRecord();
},
setupController: function(controller, model) {
}
});
LocalBookFinder.IndexSearchRoute = Ember.Route.extend({
setupController: function(controller, model) {
}
});
}).call(this);
// controllers/search/index_search_controller.js
(function() {
LocalBookFinder.IndexSearchController = Ember.ObjectController.extend({
});
}).call(this);
// views/search/index_search_view.js
(function() {
LocalBookFinder.IndexSearchView = Ember.View.create({
templateName: "search/index"
});
}).call(this);
本身呈现优良的链接。但是一旦我点击它,我就会收到错误消息,而且没有任何呈现。有任何想法吗?
我敢打赌,这是范围问题。在不同的函数范围中引用了许多'this'。 – epascarello 2013-03-04 20:50:02
请记住这些是单独的文件。在这些情况下,此功能将关闭窗口。我相信这是coffeescript在大多数情况下封装编译文件的方式。可以简单地使用()而不是.call(this) – agmcleod 2013-03-04 20:51:15