1

我有一个基本的人对象

PersonApp.Person = DS.Model.extend({
username: DS.attr('string') });

我有一条路线可以找到所有人

PersonApp.Router.map(function(match) {                                                                                                 
    this.resource("person", { path: "/" }, function() {
        this.route("page", { path: "/page/:page_id" });
        this.route("search", { path: "/search/:page_term" });
    });
});

在我的路线中,我正在查看传入的参数

PersonApp.PersonRoute = Ember.Route.extend({
    selectedPage: 1,
    filterBy: '',
    model: function(params) {
        if (get(params, 'page_id') !== undefined) {
            this.selectedPage = get(params, 'page_id');
        } else {
            this.selectedPage = 1;
        }
        if (get(params, 'page_term') !== undefined) {
            this.filterBy = get(params, 'page_term');
        } else {
            this.filterBy = '';
        }
        console.log(this.selectedPage);
        console.log(this.filterBy);
        return PersonApp.Person.find();
    }
});

我的嵌套路由使用不同的模型(不是直接人),因为它们包含未持久化的数据(实际上只让我在控制器上稍微翻转一下)

然而,当我手动在 url 上放置一些东西或单击一个进行完整转换的链接时,进入我上面的模型钩子的“参数”总是空的。

这是我正在使用的基本页面模型(带搜索支持)

PersonApp.Page = Ember.Object.extend({
    term: ''
});

当用户进行搜索时,我有一个调用 transitionTo 的视图

PersonApp.SearchField = Ember.TextField.extend({
    keyUp: function(e) {
        var model = PersonApp.Page.create({term: this.get('value')});
        this.get('controller.target').transitionTo('person.search', model);
    }
});

任何方式我都可以将这个“页面”模型传递给嵌套视图,并且仍然保留基本的“人”控制器上下文(即,我可以围绕这个模型对象数组操作视图)

4

0 回答 0