KnockoutObservable有什么区别 和KnockoutObservable []

问题描述 投票:0回答:2

有什么区别KnockoutObservable<string[]> and KnockoutObservable<string>[]何时使用它们中的任何一个?

javascript typescript knockout.js knockout-2.0 knockout-3.0
2个回答
2
投票

当您订阅KnockoutObservable<string[]>时,您将收到一个字符串数组(string[]

另一个是可观察数组(KnockoutObservable<string>),每个都可以解析为带有类型字符串的结果。

当您希望接收字符串数组时,您应该使用KnockoutObservable<string[]>


0
投票

如果你想要一个Observable Array,你应该使用https://knockoutjs.com/documentation/observableArrays.html

除非打字稿外观正在做一些意想不到的事情(我不熟悉它),否则很可能是一个Knockout Observables数组,或者类型数组的Knockout Observable都是不正确的。

但要回答你的问题,他们将会有不同的性能开销和不同的用途。

一个普通的KnockoutObservable类型数组,只在更换整个数组时才会更新。当阵列发生变异时你不会收到通知,我无法想到任何使用它的原因,除了可能是一些真正数据繁重的操作,你正在接收一组数组信息。

但是,KnockOut Observables数组会带来非常沉重的性能开销。

您正在为每个元素创建一个KnockoutObservable。这些元素中的每一个都是一个独立的Knockout Observable,可以彼此独立地进行聆听。只需要将属性名称绑定到,就可以使用数组和键/索引。

在99%的情况下,您可能正在寻找不同的ObservableArray。

© www.soinside.com 2019 - 2024. All rights reserved.