Knockout.js 从敲除中的元素获取可观测值

Knockout.js 从敲除中的元素获取可观测值,knockout.js,Knockout.js,我已经编写了以下代码,以从HTML元素中获取可观察的淘汰视图模型,但我想知道是否有更好的方法可以在不知道可观察对象的名称的情况下实现这一点 var dataBinding = $(element).data('bind'); var observableName = dataBinding.substr(dataBinding.indexOf('value:')+6); observableName = observableName.substr(0, observableName.indexO

我已经编写了以下代码,以从HTML元素中获取可观察的淘汰视图模型,但我想知道是否有更好的方法可以在不知道可观察对象的名称的情况下实现这一点

var dataBinding = $(element).data('bind');
var observableName = dataBinding.substr(dataBinding.indexOf('value:')+6);
observableName = observableName.substr(0, observableName.indexOf('(')).trim();
var observable = ko.dataFor(element)[observableName];
return observable;

似乎是更直接的方法:
(小提琴是由淘汰赛的创造者创作的)

值得注意的是:

var name1Data = ko.utils.unwrapObservable(ko.utils.domData.get(document.getElementById("name1"), "ko_data"));

ko.utils.domData.get
调用执行您要查找的操作

示例要求绑定设置
ko_data
值。所以这在一般情况下不适用于绑定。您能详细解释一下您的用例吗?你为什么试图从什么代码中获取可观察的数据?