首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用reloading导航不重新加载页面时重复的数据-数据

使用reloading导航不重新加载页面时重复的数据-数据
EN

Stack Overflow用户
提问于 2013-02-13 09:40:36
回答 2查看 570关注 0票数 3

我使用ember.js 1.0.0-预4,成员-数据修订版11。

我有以下模式:

代码语言:javascript
复制
App.DbProcess = DS.Model.extend({
    pid: DS.attr('number'),
    backendStart: DS.attr('string'),
    transactionStart: DS.attr('string'),
    queryStart: DS.attr('string'),
    stateChange: DS.attr('string'),
    waiting: DS.attr('boolean'),
    state: DS.attr('string'),
    query: DS.attr('string')
})

采用下列路线:

代码语言:javascript
复制
App.HomeDbProcessesRoute = Ember.Route.extend({
    model: function() {
        return App.DbProcess.find();
    }
})

然后,我有一个模板,它使用{{#each controller}}{{/each}}来呈现检索到的所有进程。但是,如果我导航到其他页面(而不重新加载页面)并返回到流程页,则流程将再次被检索并在页面上呈现副本。

编辑:我也尝试过这样做,但没有成功:

代码语言:javascript
复制
DS.RESTAdapter.map('App.DbProcess', {
    primaryKey: 'pid'
})
EN

回答 2

Stack Overflow用户

发布于 2013-03-19 16:13:21

我现在也有同样的问题,这是我的小麻烦:

代码语言:javascript
复制
{{#if id}}
<div>
    {{title}}
</div>
{{/if}}

在模板中,只有在有id集的情况下,我才从存储中呈现项(只有那些来自数据库)。但你已经解决了!

(使用第12版)

票数 2
EN

Stack Overflow用户

发布于 2013-02-28 21:14:36

结果发现,您可以这样做,以便在全局范围内自定义主键

代码语言:javascript
复制
App.Adapter = DS.RESTAdapter.extend({
url: document.location.protocol+'//url-api.com',
serializer: DS.RESTSerializer.extend({
    primaryKey: function(type) {
        // If the type is `BlogPost`, this will return
        // `blog_post_id`.
        var typeString = (''+type).split(".")[1].underscore();
        return typeString + "_id";
    }
})
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14850449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档