gpt4 book ai didi

javascript - Ember {{each}} 助手未显示完整列表

转载 作者:行者123 更新时间:2023-11-28 01:41:51 26 4
gpt4 key购买 nike

我的模板:

{{#each lesson_types}}
{{name}}: ${{price}}
{{/each}}
{{#view App.EnterFormView action="pushType"}}
{{input value=currentName placeholder="Lesson Name"}} {{input value=currentPrice placeholder="Lesson Price"}}
{{/view}}
<button {{action "saveTypes"}}>Save</button>

问题出在 {{each}} block ,仅呈现其第一个条目。

pushType方法:

pushType: function() {
console.log(this.get('lesson_types'));
if (!this.get('lesson_types')) this.set('lesson_types', []);

this.get('lesson_types').push(Ember.Object.create({name: this.get('currentName'), price: this.get('currentPrice')}));
console.log(this.get('lesson_types'));

this.setProperties({currentName: '', currentPrice: 0});
}

EnterFormView如果在获得焦点时按下 enter 键,则只需在其父 Controller 上触发它的方法。

一切都很好,直到我以这种形式输入内容。如果我在这些输入中输入“Full”和“30”,然后输入“Half”和“15”,则每个输入中只会显示“Full”“30”,即使控制台输出 pushType显示这个:

undefined
[Class, nextObject: function, firstObject: undefined, lastObject: undefined, contains: function, getEach: function…]

[Class, _super: undefined, nextObject: function, firstObject: undefined, lastObject: undefined, contains: function…]
[Class, Class, _super: undefined, nextObject: function, firstObject: undefined, lastObject: undefined, contains: function…]

这样您就可以看到数组正在正常增长{{each}}只是没有显示所有条目。

值得指出的是lesson_types 是模型的属性

更新

这是扩展输出的粘贴箱 http://pastebin.com/UrEutPxZ奇怪的是,第二个对象与第一个对象不同。这是怎么回事?

最佳答案

您应该使用pushObject而不是push

Push 不会通知 ember 数组已更改

关于javascript - Ember {{each}} 助手未显示完整列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20846852/

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