gpt4 book ai didi

javascript - EmberJS 观察者不触发

转载 作者:行者123 更新时间:2023-11-30 16:51:16 25 4
gpt4 key购买 nike

EmberJSBin here

我有一个组件,当它的任何值发生变化时需要执行给定的操作,但我创建的观察者不会触发:

export default Ember.Component.extend({
taxes: null,
NOAYears: 2,
NOAValues: Ember.computed("NOAYears", function() {
var NOAs = [],
lastYear = new Date().getFullYear() - 1;
for (var year = 0; year < this.get("NOAYears"); year++) {
NOAs.push({year: lastYear - year, value: 0});
}
return NOAs;
}),
NOAYearsChanged: function() {
// does not fire when any of the values change
}.observes("NOAValues.@each.value")
});

在组件模板中,我通过 {{#each}} 迭代器进行绑定(bind):

{{#each NOAValues as |year|}}
<label for="{{year.year}}-value">{{year.year}}</label>
{{input min="0" step="any" value=year.value required=true placeholder="Yearly Income"}}
{{/each}}

NOAValues 中的任何 value 属性发生变化时,如何让我的观察者触发?

最佳答案

此问题已被验证为由遗留代码引起的错误,遗留代码将任何以大写字母开头的属性名称(即 PascalCase)解释为全局或类名称引用...使属性不可观察。

来源:https://github.com/emberjs/ember.js/issues/10414

似乎会在一些即将发布的版本中努力修复它。

关于javascript - EmberJS 观察者不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30491151/

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