0

作为一个小玩具项目,我正在尝试在 EmberJS 中构建一个简单的日历(只是一个前端应用程序,使用 Fixture 适配器)。

我想我需要定义两个模型;与“约会”模型具有 hasMany 关系的“日”模型。

我遇到的麻烦是在应用程序启动时创建所有“日”模型。我该怎么做呢?我想要一个月视图(从当前月份开始),所以我真的不想使用预定义的 FIXTURES 来创建我的“日子”。

如何在应用程序初始化时以编程方式创建日期?我已经尝试在商店的加载事件中使用由我的控制器上的方法调用的单独函数(似乎加载数据,但由于某种原因无法从模板访问它......)。

我是通过为每天创建一个对象来走正确的路,还是有更“Ember”的方式来做到这一点?

4

2 回答 2

1

回答您的问题“我是通过为每天创建一个对象来走正确的路,还是有更多的 'Ember' 方式来做到这一点?” Ember 方式对象的方式 - 所以是的。

回答“怎么做?” 问题:有很多方法。一种方法是使用 Ember ArrayController 和 Date 对象或其他一些日期库(moment.js 很棒)生成所有“日历日期”,并呈现将显示数据的 CollectionView。每个日历日都需要绑定到代表当天用户“内容”的模型。然后,您需要将模型(每天的数据)加载到 ArrayController 中。如果您的路由和“需求”正确,您应该会在数据加载完成后看到每天显示的数据。

这也可能有帮助:“日历”的模型已经实现(通过 Date 对象);您将需要生成使用它的日期列表,并将夹具数据绑定到它们。因此,您只需要固定装置来表示每个“日历日期”的用户数据。每个“日历日期”模型将有许多“日历项目”。

我目前正在开发一个带有日历组件的 Ember 应用程序,并且也在努力入门。希望这可以帮助您滚动一些!

于 2013-06-14T16:15:52.930 回答
0

有很多不同的方法可以做到这一点,但为了一个玩具项目,你可以在 ApplicationRoute 中创建它们。

App.ApplicationRoute = Ember.Route.extend({

  setupController: function(model, controller) {
    //create your days here
    App.Day.createRecord({key: 'value'});
  }

});

然后,当您在应用程序的其他地方调用 App.Day.find() 时,这些天就会出现。

于 2013-06-14T11:07:47.133 回答