我习惯于在Ember Object Model中计算属性。这是一种指定依赖于其他属性的计算属性的便捷方式。
说fullName
取决于firstName
and lastName
,我可以将计算属性设置为函数computeProperties
并在computeProperties
每次进行更改时调用。
例子:
function computeFullName(state) {
const fullName = state.get('firstName') + state.get('lastName');
const nextState = state.set('fullName', fullName);
return nextState;
}
function computeProperties(state) {
const nextState = computeFullName(state);
return nextState;
}
// store action handler
[handleActionX](state) {
let nextState = state.set('firstName', 'John');
nextState = state.set('lastName', 'Doe');
nextState = computeProperties(nextState);
return nextState;
}
有没有办法自动设置计算属性,这样我就不必每次都调用额外的函数。在 Redux 或 ImmutableJS 中。