gpt4 book ai didi

ember.js - 通过查找更新关系或其他数据

转载 作者:行者123 更新时间:2023-12-01 06:34:20 25 4
gpt4 key购买 nike

编辑:更一般地说,我如何调用 find() 并让它对结果集中的每个项目执行某些操作

如何在不破坏绑定(bind)的情况下更新集合关系的成员?例如。一个模型有很多东西,但最初只加载前 10 个,然后我想用接下来的 10 个替换那些,等等,以进行分页

我可以调用 clear 并添加底层的 OrderedSet,但这会破坏我页面上的绑定(bind),一切都消失了。

App.Category = DS.Model.extend({
name: DS.attr('string'),
type: DS.attr("string"),
parent: DS.belongsTo('App.Category'),
children: DS.hasMany('App.Category'),
stories: DS.hasMany('App.Story'),

});

App.CategoryController = Ember.ObjectController.extend({
page: 1,

loadPage: function() {
console.log(this.get('stories'))
var s = App.Story.find({sid: this.get('id'), count: 12, page: this.get('page')})
this.get('stories').clear()
for (var i = 0, len = this.length; i < len; ++i) {
this.get('stories').add(s[i])
}
},
nextPage: function(event) {
this.set('page', this.get('page') + 1)
this.loadPage()

},
prevPage: function(events) {
this.set('page', this.get('page') - 1)
this.loadPage()
},
breadcrumb: function() {
return ""
}.property('parent'),
sortProperties: ['created'],
sortAscending: false,
nextEnabled: function() {
return true
}.property('page'),
prevEnabled: function() {
if (this.get('page') > 1) {
return true
}
return false
}.property('page'),

});

最佳答案

通常,ORM 不提供父对象中子对象的分页。处理这个问题的正常方法是打破对象模型并为自己维护一个父对象和单独的可分页子对象集合。换句话说,您必须打破绑定(bind),然后自己管理它们以达到本页的目的。

关于ember.js - 通过查找更新关系或其他数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16484286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com