1

http://emberjs.jsbin.com/aGUguJA/10

使用 bloggr 示例,我构建了一个帖子列表和一个帖子视图,并在帖子模板中添加了 2 个操作,上一个和下一个。

App.PostController = Ember.ObjectController.extend({

   actions:{
        next: function(){
            //Go to next object in a model
          },
        prev: function(){
            //Go to previous object in a model
          }}
});

我不知道如何使上一个和下一个工作。我有一种强烈的感觉,我需要使用 ArrayController,但我仍然不知道从那里去哪里。

4

2 回答 2

2

一种简单的解决方案是在您的帖子对象中添加两个字段/变量,即

{
    id: '1',
    title: "Object 1",
    author: { name: "Awesome Person 1" },
    date: new Date('01-01-2013'),
    excerpt:"Lorem ..",
    body:"Lore.."
    next:2,
    prev:null

}

因此,您要么在数据中提供这些信息,要么创建从数据中实例化的 App.Post 对象,然后编写一个简单的迭代来填充 App.PostsRou​​te 的模型部分中的字段。然后,您可以相应地修改您的模板,并从下一个和上一个按钮的链接传递对象或 id。

看一个工作示例, http ://emberjs.jsbin.com/OxajiVi/1/

编辑 以下示例演示了使用 Ember 类和对象创建链表的解决方案,在 json 数据中没有上一个和下一个字段,并且在直接访问帖子时也可以工作,

http://emberjs.jsbin.com/uWAmUba/1

于 2013-10-17T12:10:49.890 回答
-2

这可能会有所帮助:

<button {{action "next"}}>Next</button> 
于 2013-10-17T11:01:05.360 回答