是否有任何'余烬'方式来获取当前的动态细分?它可以在Route中通过参数,如何从ArrayControllers访问它们?
像this.get('controllers.application.currentPath')这样的解决方案?当然window.location.hash就在那里,但是ember方式会更有效率。
[UPDATE]
基本上这就是我正在做的事情(它是一个照片库)。
只有一个模型(照片)。她是一个样本:
{
id: 1,
name: 'brad-pitt',
date_added: 'Sat Apr 05 2014 23:04:35 GMT+0530 (IST)',
link: 'example.com',
image: 'http://www.somewebsite.com/image.jpg',
rank: 20
}
路线:
App.Router.map(function(){
this.route('index', {path: '/'});
this.route('photos', {path: ':name'});
})
/
显示所有模型,按排名排序。
/brad-pitt
再次显示所有模型,但过滤名称为''brad-pitt'
/brad-pitt?p=1
显示所有模型,但过滤器名称=“brad-pitt”AND也会突出显示ID为1(砌体m2
具体)的那个。 / p>
控制器:
App.PhotosController = Ember.ArrayController.extend({
needs: ['application'],
itemController: 'photo',
queryParams: ['p'],
p: null,
pictures: function() {
var p = this.get('p');
var pics = this.get('model');
// console.log(this.get('controllers.application.currentRouteName'));
if(p) {
return pics.filterProperty('id', p);
} else {
return pics.filterProperty('name', 'some-one'); // <- THIS NEEDS TO BE DYNAMIC
}
}.property('p', 'model')
});
App.PhotoController = Ember.ObjectController.extend({
link_out: function() {
return 'http://' + this.get('link')
}.property()
});