gpt4 book ai didi

ember.js - 计算属性未更新

转载 作者:行者123 更新时间:2023-12-02 19:45:49 26 4
gpt4 key购买 nike

问题:当 Controller 修改“pages”数组时,计算属性“tnop”不会更新,如下所示:

相关书籍模型代码:

sections: []
tnop: function()
{
var n = 0;
var sections = this.get('sections');
if (!sections)
return n;

for (var i=0; i < sections.length; i++) {
n += sections[i].pages.length;
}
return n;
}.property('sections.@each.pages.length')
<小时/>

相关 Controller 代码:

var sections = EM.model.getPath('book.sections');
var aps = EM.model.getPath("ps");
$.each(sections, function(si, section) {
var bp = [];
if (json && json.ia) {
bp = section.get("pages");
var ns = aps[json.ssi];

var lp = ns.get("lp");
var rp = ns.get("rp");
if (rp) {
bp.insertAt(lp.number-1, rp);
bp[lp.number-1] = rp;
}
if (lp) {
bp.insertAt(lp.number-1, lp);
bp[lp.number-1] = lp;
}
}
});
<小时/>

最佳答案

就目前情况而言,您无法直接观察 @each 之外的深层嵌套路径。相反,您必须使用嵌套的 @each 代理,如下所示:

属性('sections.@each.pages.@each.length')

关于ember.js - 计算属性未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10245461/

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