我在我的应用程序中使用knockout.js插件。我有一个可观察的问题。我创建了一个Example Fiddle。在这个小提琴中,我每次添加新菜单时动态创建Menus
并生成Menu sequence
。除第一个菜单外,用户还可以删除任何现有菜单。
用户删除任何现有菜单时出现问题。因为在删除时我更新了删除功能中的序列号,但序列号没有更新。 有谁能告诉我这是什么问题?
答案 0 :(得分:1)
解决方案:Fiddle
<强>修改:强>
newMenuVM.Sequence = ko.observable(self.menus().length+1);
self.menus()[i].Sequence(i+1);
<强>删除:强>
self.courseOptions.push(newMenuVM);
<强>原因:强>
当我操作你的小提琴时,我看到一个错误“对象#的属性'序列'不是一个函数”。
我搜索此属性并查看:
newMenuVM.Sequence = self.menus().length+1;
所以,我添加 ko.observable 功能。
答案 1 :(得分:1)
您正在重新定义Sequence变量。最初它是一个ko.observable。您将其设置为整数值。您应该将值设置为
newMenuVM.Sequence(self.menus().length+1);
这将允许observable通知并更新屏幕上的值。