嘗試用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