Ember CLI数据链数据模型

时间:2015-04-23 16:09:38

标签: javascript asynchronous ember.js ember-data

我有一个由Ember的其他3个嵌套模型制作的模型,我想使用其中一个的数据作为另一个的参数。

我有一个模型来设置我的应用程序的配置(hotTopicConfig)问题是我想使用hotTopicConfig中的数据将其用作hotTopics模型中的参数

return new Ember.RSVP.hash({
    hotTopicConfig: self.store.findQuery('hot-topic-config', {
        touchpointId: params.touchpointId,
    }).then(function (results) {
        self.set('periodType', results.get('periodType'))
        return results.get('firstObject');
    }),

    hotTopicSortByType: self.store.find('hot-topic-sort-by-type'),

    hotTopics: self.store.findQuery('hot-topic', {
        touchpointId: params.touchpointId,
        periodType: HERE I WANT TO USE DATA FROM hotTopicConfig
    }).then(function (results) {
        return results.get('firstObject');
    })

我已经使用了几个解决方案,但它们都不适合我,比如外部和额外的AJAX调用调用。

还有其他办法吗?

2 个答案:

答案 0 :(得分:0)

这样做怎么样

var config = self.store.findQuery('hot-topic-config', {
    touchpointId: params.touchpointId,
});

return new Ember.RSVP.hash({
    hotTopicConfig: config.then(function (results) {
        return results.get('firstObject');
    }),

    hotTopicSortByType: self.store.find('hot-topic-sort-by-type'),

    hotTopics: config.then(function (results) {
        var periodType = results.get('periodType');
        return self.store.findQuery('hot-topic', {
            touchpointId: params.touchpointId,
            periodType: periodType
        }).then(function (results) {
            return results.get('firstObject');
        })
    }),
});

答案 1 :(得分:0)

我提供的解决方案是在beforeModel上设置AJAX请求并设置:

public function testPHPIsBroken()
{
    $this->assertEquals((int)(2.04 * 100), (int)(2.05 * 100));
}