【发布时间】:2014-12-17 23:54:46
【问题描述】:
我的 html 中的选择列表绑定到可观察数组
<select data-bind="options: myData, optionsText: 'Name', value: selectedId"></select>
当我加载我的页面时,我将值设置为 observable selectedId
但是当我设置值时,它会立即调用它的订阅事件
selectedId.subscribe(function (row) {
// some logic for retrieving data
});
我不想在以编程方式设置值时调用订阅事件,而只想在用户从列表中选择某些内容时调用。
有可能吗?找不到任何好的例子。
更新1
我以这种方式将值设置为我的 observable selectedId
selectedId(ko.utils.arrayFirst(data(), function(item) {
return item.id=== 5;
}));
我认为因此它触发了订阅事件
【问题讨论】:
-
selectedId的值怎么设置? -
But when i set value it immediately calls its subscribe event:当然可以。值改变了。在您设置初始值之前之后不连接订阅怎么样? -
@MattBurland 我们该怎么做?
-
@haim770 我将其设置为 selectedId(somevalue)
-
你把
selectedId(somevalue)放在selectedID.subscribe(//...前面
标签: html knockout.js observable