我只是在学习 Ember,我对计算属性有点困惑。指南中的所有内容都使用字符串,例如根据名字和姓氏创建全名的计算属性等。无论如何,我对如何使用整数感到困惑,因为语法似乎几乎需要使用字符串。
例如,我的控制器上有一个名为count
.
import Ember from 'ember';
export default Ember.Controller.extend({
count: 0,
counter: Ember.computed('count', function() {
var num = `${this.get('count')}`;
var newNum = parseInt(num) + 1;
this.set('count', newNum);
return this.get('count');
})
});
我知道这段代码真的很糟糕,我只是想说明我正在尝试做什么并且失败了。为什么Ember.computed
将字符串作为其第一个参数?
为什么我必须使用字符串this.get
,this.set
当我使用整数而不是字符串时?我必须手动解析 int 否则它会返回一个字符串,为什么它将我的 count 属性转换为字符串?
无论如何,在我运行的余烬检查器中
$E.get('count')
它确实成功添加了 1,但未能继续添加 1,这让我认为它没有更新实际count
属性。
非常感谢。我很感激帮助。