gpt4 book ai didi

javascript - knockout - ko.compated 使用 ko.isObservable 和 peek()

转载 作者:行者123 更新时间:2023-12-03 08:09:14 26 4
gpt4 key购买 nike

我有一个问题。请帮帮我。我有 ko.compulated,它有一个检查 ko.isObservable 变量,我需要 ko.compulated 不对这个变量的更改使用react。请参阅示例:

ko.computed(function() {
if ( ko.isObservable(test.peek()) ) {
console.log('TRUE');
}
});

-------- 或 --------

ko.computed(function() {
if ( ko.isObservable(test).peek() ) {
console.log('TRUE');
}
});

我有错误:无法读取 null 的属性“peek”

如果我这样做:

 ko.computed(function() {
var testTest = ko.isObservable(test) ? test.peek() : false;
if ( testTest ) {
console.log('TRUE');
}
});

ko.compated 仍然会对“测试”上的更改使用react。

ko.compulated 如何不对这个变量的更改使用react?

最佳答案

如果您想重新计算“测试”值更改的计算结果,并且不知道“测试”是否可观察:

ko.computed(function() {
if ( ko.unwrap(test) ) {
console.log('TRUE');
}
});

我也不太明白 - 为什么你在计算中使用 peek() ?这可以防止在“测试”值发生变化时重新计算计算值。

更新

我不想对“测试”值变化使用react:

ko.computed(function() {
var testValue = ko.isObservable(test) ? test.peek() : test;
if ( testValue ) {
console.log('TRUE');
}
});

关于javascript - knockout - ko.compated 使用 ko.isObservable 和 peek(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34220481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com