我正在使用Ember-CLI進行待辦事項類型項目。我作爲一個起點漂亮todoMVC項目,但使用灰燼-CLI本指南內置:如何將項目父項添加到Ember-CLI TodoMVC?
http://blaketv.com/2014/10/03/ember-cli-todo-mvc-tutorial-0-0-47//
我的問題是,我將如何去在父級別添加項目。所以我們將有一個主 - 細節類型的接口,並且在邊欄中我們會有項目,並且您可以添加CRUD項目名稱,然後當您單擊項目名稱時,將在詳細信息窗格中看到待辦事項。
我已經得到足夠的定義與模型具有許多關係,但我無法弄清楚是否需要多個{{outlets}}將所有內容都放在同一頁面上並工作是非常困難的。
這裏是我的項目模型:
export default DS.Model.extend({
title: DS.attr('string'),
isCompleted: DS.attr('boolean'),
description: DS.attr('string'),
todos: DS.hasMany('todo', {async: true})
});
和模型待辦事項:
import DS from 'ember-data';
export default DS.Model.extend({
title: DS.attr('string'),
isCompleted: DS.attr('boolean')
});
和主路由器:
Router.map(function() {
this.resource('projects', function() {
this.route('new');
this.resource('project', { path: ':id' }, function() {
this.route('todos');
});
});
});
項目路線:
export default Ember.Route.extend({
model: function(params) {
return this.store.find('project', params.id);
}
});
指數路線:
export default Ember.Route.extend({
model: function() {
return this.store.find('project');
}
});
託多斯路線:
export default Ember.Route.extend({
model: function() {
return this.modelFor('todos');
}
});
所以對於project.hbs這是它得到棘手。我創建bootsrap側邊欄,然後該出口顯示待辦事項....
<div class="projects-column col-md-3">
<div id="inbox-header"><span class="glyphicon glyphicon-inbox"></span> Inbox <span class="badge">42</span></div>
<div id="projects-header"><span class="glyphicon glyphicon-list-alt"></span> Projects</div>
<div id="forecast-header"><span class="glyphicon glyphicon-calendar"></span> Forecast</div>
<div id="log-header"><span class="glyphicon glyphicon-book"></span> Sessions Log</div>
</div>
<div>{{outlet}}</div>
Index.hbs:
<ul>
{{#each model}}
<li>{{link-to title "project.todos" this}}</li>
{{/each}}
所以這上面,當你點擊項目名稱鏈接,它顯示了相關的todos ....但它在左窗格中呈現......它可能只是關於CSS佈局的一些東西......但有些東西告訴我有一個非常Ember-ish的方式來做到這一點,我失蹤了。
然後在/project/todo.hbs
我們迭代
{{#each model.todos}}
<li>{{title}}</li>
{{/each}}
我甚至沒有真正解決使CRUD的控制器或任何東西。最有可能這上面是可笑的,有一個更加優雅的方式來處理這...
基本上我想要一個項目的父路由,我做CRUD ...然後當你呈現項目鏈接列表在sidebard中單擊一個,你會在右窗格中看到渲染的ToDoMVC工作應用程序。
當然,這只是我申請的起點。最有可能的是,如果有人想出一個優雅的方式來做到這一點,我們可以把它變成github上的開源項目,供其他人學習。
我想到有一堆新興燼開發商正與因多種方式去做這類事情很難(網點,諧音,渲染,渲染到其他模板,視圖,元器件等)
真的不知道如何得到更多。
請注意,演示應用程序沒有打磨或使用完整的CRUD,只有部分,但我只想獲取路線和模板名稱,供您查看。 – 2015-02-16 15:25:26