Knockout.js 绑定时触发knockoutjs选择更改事件

Knockout.js 绑定时触发knockoutjs选择更改事件,knockout.js,knockout-2.0,Knockout.js,Knockout 2.0,我有一个淘汰码: 问题在于,每当下拉选择框被填充时,就会调用更改事件: <select data-bind="options: $root.Categories, optionsText: 'categoryName', optionsValue: 'categoryId', value: CatId, optionsCaption: 'Vælg...', event: { change: $root.selectionChanged }"></select>

我有一个淘汰码:

问题在于,每当下拉选择框被填充时,就会调用更改事件:

 <select data-bind="options: $root.Categories, optionsText: 'categoryName', optionsValue:       'categoryId', value: CatId, optionsCaption: 'Vælg...', event: { change: $root.selectionChanged }"></select>


如何修复此问题?

其中有大量已损坏和未使用的代码

这一个是正确的。真正使其调用更改的原因有两个:您在食品模型中使用了字符串,在类别模型中使用了数字
(“1”!=1)
,类别中不存在Id 2(仅1)啤酒类别为两种食品(CatId 2)设置。由于KO在选项列表中找不到这些选项,因此将所选值重置为null


也就是说,请看一看我的小提琴,了解一种更具挑战性的做事方式

你为什么需要订阅
change
活动?通常,
value
绑定和订阅value属性更改对于大多数用例来说已经足够了……您需要为您的项目创建一个viewmodel,而不仅仅是父viewmodel。你能给我一点代码示例看看它是什么样子吗?感谢advanceDespite对猫和啤酒之间的关系感到困惑(尽管我完全赞成),我从您的示例中收集了足够的信息,以解决我自己的问题,谢谢:)