在Ember v2.0.0指南,"对象模型",部分"计算属性":
Person = Ember.Object.extend({
firstName: null,
lastName: null,
fullName: Ember.computed('firstName', 'lastName', {
get(key) {
return this.get('firstName') + ' ' + this.get('lastName');
},
set(key, value) {
var [ firstName, lastName ] = value.split(/\s+/);
this.set('firstName', firstName);
this.set('lastName', lastName);
}
})
});
请帮助我了解结构" 获取(键)"," 设置(键,值)"和" var [firstName,lastName] = ... "。
新的ES6和/或Ember功能?
答案 0 :(得分:3)
get(key), set(key, value)
只是Ember.js中新计算属性语法的方法签名。因此,如果您在Ember.js中编写计算属性,则需要实现这两种方法并将它们作为对象传递给Ember.computed
方法,例如:
myComputedProperty: Ember.computed('propertyToDependOn', {
get() { // <= function, equal to - get: function() {
// ...
},
set(key, value) { <= function
// ...
}
})
var [ firstName, lastName ] = value.split(/\s+/);
是与列表匹配的解构赋值示例。它是ES2015规范的一部分。 You can read more about ES2015 on Babel website. Babel是一个JavaScript框架,在Ember CLI中使用,使开发人员能够使用新的JavaScript语法和功能。