让我们说我有一个看起来像这样的viewmodel:
this.foo = ko.observable();
this.bar = ko.observable();
this.bah = ko.pureComputed(function(){
var bar = this.bar();
}, this);
this.baz = ko.pureComputed(function(){
var foo = this.foo(),
bah = this.bah();
}, this);
有没有办法动态访问计算的observable的依赖项?在上面的baz
示例中,我想要一个包含foo
和bar
的列表,因为它们是可以触发计算的两个observable。
我需要这个用于调试目的。
答案 0 :(得分:1)
AFAIK没有记录或公共API来获取此信息。另外,我认为(虽然不确定)内部KnockoutJS反过来工作:一个observable知道谁依赖它("订阅者"),而不是依赖于知道它依赖的observables上。
唯一接近的是baz.getDependenciesCount()
,但这只会给你一个数字。您可以查看the relevant source file以查看计算出的其他内容。
唯一可能有用的其他选项:包括KnockoutJS的unminified / debug版本,并使用调试器深入挖掘底层问题。