1
我想弄清楚如何建立一個定製的Ember.Select控件作爲一種全球導航控制。Ember JS全球導航選擇菜單
見這個例子:
你會發現, 「本地導航下拉」 的作品就好了。但是「全球導航下拉」沒有。
在全局情況下,燼選擇的上下文不正確。但我不太清楚如何設置綁定以使行爲按預期工作。
我還希望能夠將此控件放置在很多不同的模板中,以便更好地瞭解如何在此場景中設置路線和控制器。
我想弄清楚如何建立一個定製的Ember.Select控件作爲一種全球導航控制。Ember JS全球導航選擇菜單
見這個例子:
你會發現, 「本地導航下拉」 的作品就好了。但是「全球導航下拉」沒有。
在全局情況下,燼選擇的上下文不正確。但我不太清楚如何設置綁定以使行爲按預期工作。
我還希望能夠將此控件放置在很多不同的模板中,以便更好地瞭解如何在此場景中設置路線和控制器。
真的你在談論它生活在應用程序級別。您始終不能從應用程序級訪問學生控制器(它可能並不總是存在)。所以無論你需要從應用程序控制器返回學生模型,還是做一些別緻的事情。
下面是第一個例子。
http://jsbin.com/oVoqUY/6/edit
App.ApplicationController = Ember.ObjectController.extend({
studModel: function(){
return App.Student.find();
}.property(),
selectStudent: function(studentId){
this.transitionToRoute('student', studentId);
}
});
OK,這是有道理的。我沒有想到ApplicationController中的計算屬性。聰明!所以在這種情況下,每次請求屬性時都會有XHR請求。我應該把.cacheable()放在最後。不確定觀察者行爲如何在這種情況下工作。 –
取決於您使用的適配器,它可能只能打一個電話。或者,您始終可以讓學生爲應用程序路由默認路線,並將該選擇器移至學生模板。您也可以從應用程序中獲取studModel,以免重複調用。就我個人而言,我喜歡這個應用程序只是一個插座的想法,並且如果學生的全局搜索將在應用程序的任何地方都可用,那麼它總是重定向到學生級別。 – Kingpin2k