首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算KnockoutJS可观测阵列时,通过计算阵列。

计算KnockoutJS可观测阵列时,通过计算阵列。
EN

Stack Overflow用户
提问于 2019-02-19 14:01:35
回答 1查看 28关注 0票数 1

在组件的params参数中发生了一件违反直觉的事情,在HTML中计算对象时,对象的observableArray作为computedObservable传递。

代码语言:javascript
复制
<my-component params="myParameter: someObject.myObservableArray()"></my-component>

someObject是由一个接口定义的:

代码语言:javascript
复制
interface MyObjectType {
    myObservableArray: KnockoutObservableArray<MyDto>;
}

然后,my-component的参数由另一个接口指定:

代码语言:javascript
复制
interface MyComponentParams {
    myParameter: Array<MyDto>;
}

这里没有什么特别令人兴奋的事情发生,但是通过可观察的数组并在构造函数中对其进行评估,效果很好。问题似乎仅仅是params内部的评估。

编辑:在ko.unwrap()上执行computedObservable也会产生所需的数组。这一切都很好,但我想了解为什么评估结果在计算结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-19 14:10:29

来自文档

为了确保子组件能够对表达式值的更改作出反应,Knockout自动将此参数升级为计算属性。因此,子组件将能够读取params.observableExpression()来获取当前值,或者使用params.observableExpression.subscribe(.)等等。 通常,使用自定义元素,如果参数的计算涉及到可观测性,那么Knockout将自动构造一个ko.computed值,以给出表达式的结果,并将其提供给组件。

(最后一颗地雷)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54768069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档