1
我是Ember的新手,我試圖設置一個顯示外部模型(產品)信息的模板。所以,我有一個管理路線:Ember在路線中定義模型導致錯誤
App.AdminRoute = Ember.Route.extend({
model: function() {
var admin_brand = this.store.find('brand', 1);
return this.store.find('product', {brand: admin_brand});
}
});
控制:
App.AdminController = Ember.ArrayController.extend({
});
和模板:
<script type="text/x-handlebars" data-template-name="admin">
<div class="row">
{{#each}}
{{name}}
{{/each}}
</div>
</script>
但我發現了一個JS錯誤:
Error while processing route: admin undefined is not a function TypeError: undefined is not a function
我'm也使用ember-data-django-rest-adapter我的實際數據(這似乎工作正常否則)。如果我在路由中傳遞一個靜態的對象數組,它可以正常工作。任何想法,我做錯了什麼?另外,這是甚至正確的方式去做這件事?最後,有沒有更好的方法來調試這些類型的問題?我有Chrome擴展,但它似乎沒有幫助這些極端通用的錯誤,所以任何其他技巧將是非常棒的。非常感謝您的幫助。
謝謝你,這絕對是更有意義的這種方式,但不幸的是我仍然遇到一個錯誤(無論如何一個新的)。 '處理路由時出錯:admin無法讀取未定義TypeError的屬性'find':無法讀取find('product')屬性'find'。在這種情況下,我是否需要在控制器或模板中執行特定的任何操作?經過更多的挖掘,我認爲可能有其他一些問題導致問題(看着餘燼調試器,我的產品對象並不總是存在,但在訪問產品/ 1後,他們確實被添加到調試器中) – tcmurphy 2014-09-01 16:19:56
該問題是一個範圍問題。我將代碼固定在使用'self'而不是'this'的答案中。試一試上面的代碼,看看它是否有效。 – tikotzky 2014-09-01 16:36:28
啊,是的,這也是有道理的,不幸的是我得到一個新的錯誤:'處理路由時出錯:admin超過最大調用堆棧大小RangeError:超過最大調用堆棧大小 在encodeURIComponent(本地)' – tcmurphy 2014-09-01 16:48:20