0

我有一个需要由用户(取消)检查的对象列表:

var myList = [
    { id: 1, value: "aaa", checked: true}
    { id: 2, value: "bbb", checked: false}
    { id: 3, value: "ccc", checked: true}
]

根据用户的选择,必须在其余元素上执行一些业务逻辑。它必须在任何(取消)检查操作之后执行,因此我需要知道受影响的确切元素。
我正在使用 knockout.js 并希望使用这种方法显示和绑定值。
复选框“已检查”绑定可以通过两种方式完成:通过传递将根据用户选择自动设置的布尔值,或者通过传递其内容将公开已检查值的数组。我无法获得受影响的列出对象,因此在这两种情况下都无法运行业务逻辑。

  1. 当我将布尔值传递给复选框并返回平面布尔值时,我不知道它属于哪个列出的对象
  2. 当我传递一个可观察数组时,我只能订阅它的更改,但在处理程序中我只有整个数组并且仍然不知道受影响的元素。

你能帮助我吗?

4

1 回答 1

0

抱歉,刚刚发现我可以提供带有上下文的订阅。订阅的完整语法类似于

observableItem.subscribe(function (newValue) {...}, context, stringVal)

其中 stringVal 可以是“beforeChange”,它将在更改之前为您订阅事件。我不知道,因为他们没有在官方网站上记录它。顺便说一句,有人知道最新的文档在哪里吗?

于 2013-02-21T10:09:24.173 回答