[英]Ember.js: no model on handmade controller
我的問題是:如果我在Ember中編寫on控制器,則無法訪問模板中的模型。 如果我使用生成的控制器,一切正常。 我已經嘗試過了,但是沒有用。
這是我使用的版本:
灰燼:1.4.0
車把:1.3.0
的jQuery:1.10.2
這里是一些代碼(路由):
App.ArticlesCreateRoute = App.AuthenticateRoute.extend({
setupController: function(controller, model) {
controller.set('content', model);
},
renderTemplate: function() {
this.render("side-bar", {into: "application" , outlet: "sidebar", controller: "articles.create" });
this.render("articles-create");
},
model: function(params) {
return App.Model.get(this,"articles.create","/api/categories/list");
//return [{id: 1, select_name: "test"},{ id: 2, select_name: "Man"}];
}
});
控制器:
App.ArticlesCreateController = Ember.ArrayController.extend({
navigation: [
{controller: "articles.page", text: "Übersicht" , hint: "", icon: "fa fa-laptop"},
{controller: "articles.create", text: "Artikel erstellen" , hint: "", icon: "fa fa-plus"}
],
publish: [{ id: "false", name: "Nein" }, {id: "true", name: "Ja"}],
formats: [{ id: "html", name: "HTML" }, {id: "md", name: "Markdown"}],
});
模板:
<table>
{{#each}}
<tr>
<td>{{id}}</td>
<td>{{select_name}}</td>
</tr>
{{/each}}
</table>
我希望有一個人可以幫助我...
從我看來,您還需要為renderTemplate的第二次渲染調用指定控制器,如下所示:
...
renderTemplate: function() {
this.render("articles-create");
this.render("side-bar", {into: "application" , outlet: "sidebar", controller: "articles.create" });
this.render("articles-create", {
controller: "articles.create"
});
},
...
您可以在這里查看可用的jsbin 。 請點擊Create article
鏈接。 我添加了一些東西使其工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.