我在我的应用程序中使用了 knockout.js 插件。我有可观察的问题。我创建了一个示例小提琴。在这个小提琴中,我在每次添加新菜单时Menus
动态创建并生成。Menu sequence
用户可以删除任何现有的菜单,除了第一个。
当用户删除任何现有菜单时,就会出现问题。因为在删除时我正在更新删除函数中的序列号,但序列号没有更新。有人可以告诉我有什么问题吗?
我在我的应用程序中使用了 knockout.js 插件。我有可观察的问题。我创建了一个示例小提琴。在这个小提琴中,我在每次添加新菜单时Menus
动态创建并生成。Menu sequence
用户可以删除任何现有的菜单,除了第一个。
当用户删除任何现有菜单时,就会出现问题。因为在删除时我正在更新删除函数中的序列号,但序列号没有更新。有人可以告诉我有什么问题吗?
解决方案:小提琴
修改的:
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函数。
您正在重新定义 Sequence 变量。最初它是一个 ko.observable。您将其设置为整数值。你应该这样设置值
newMenuVM.Sequence(self.menus().length+1);
这将允许 observable 通知和更新屏幕上的值。