Knockout.js 烘焙或有效淘汰默认/可选可观察
我需要在视图模型上设置几个值,这些值在传递给viewModel构造函数的参数上可能有对应的值,也可能没有对应的值 我熟悉jQuery插件的默认对象和与传入选项的合并,我想知道在Knockout中是否有类似的可观察对象 以下是一次性的,但如果有十几封或更多的邮件,我不想对每封邮件都这样做:Knockout.js 烘焙或有效淘汰默认/可选可观察,knockout.js,Knockout.js,我需要在视图模型上设置几个值,这些值在传递给viewModel构造函数的参数上可能有对应的值,也可能没有对应的值 我熟悉jQuery插件的默认对象和与传入选项的合并,我想知道在Knockout中是否有类似的可观察对象 以下是一次性的,但如果有十几封或更多的邮件,我不想对每封邮件都这样做: export function viewModel(params) { const vm = {}; vm.messageOne = params.hasOwnProperty('message
export function viewModel(params) {
const vm = {};
vm.messageOne = params.hasOwnProperty('messageOne') ? params.messageOne : 'My default message';
}
您可以使用
Object.assign
合并这两个对象:
function ViewModel(params) {
// All default properties go here:
const vm = { messageOne: "My Default Message" };
// Overwrite properties that are in `params`
Object.assign(vm, params);
/* ... */
}
如果您有一组有序的消息,那么它们应该以数组形式出现,而不是以带有键的对象出现
如果您只想将一个对象转换为具有可观察属性的对象,那么可以使用插件